Я предполагаю, что вокруг этой части скрипта есть какой-то html.Так как у вас есть несколько кнопок с одинаковым именем ('apply'), он найдет $ POST ['apply'] для всех строк, что объясняет ваше текущее поведение.Если вы поместите значение в каждую кнопку:
<button name='apply' value='$cname'>...</button>
И вы сделаете что-то вроде:
if (isset($_POST['apply']) && $_POST['apply'] == $cname)
Это, вероятно, будет работать правильно.Не забывайте избегать любого пользовательского ввода, чтобы защитить себя от SQL-инъекций.Также экранируйте $ cname в случае, если в имени есть апострофы.
В запросе mysql вы должны поместить имя таблицы в кавычки, такие как:
INSERT INTO `$cname`
Поскольку $ cname isкоманда или свойство из mysql (например, USER, DATA или TABLE), в противном случае ваш скрипт вылетит.