Не пойму что делаю не так, поправьте пожалуйста:
Главный файл
<? $History = mysqli_query($CONNECT, "SELECT history.id, history.text, history.status, users.name FROM history INNER JOIN users ON history.uid = users.id ORDER BY history.id"); ?>
<tbody>
<?php while ($Query = mysqli_fetch_assoc($History)) echo '
<tr>
<th scope="row">'.$Query['id'].'</th>
<td>'.$Query['name'].'</td>
<td>'.$Query['text'].'</td>
<td>
<form method="POST" action="/query">
<select class="custom-select" size="1" name="status">
'.str_replace('>'.services_status($Query['status']), 'selected>'.services_status($Query['status']), '
<option value="0">Заказано</option>
<option value="1">Активно</option>
<option value="2">Отказано</option>
').'
</select>
<input class="btn btn-primary" type="submit" name="submit" value="Изменить">
</form>
</td>
</tr>
';
?>
</tbody>
UPTADE файл
<?
if ($_POST['submit']) {
mysqli_query($CONNECT, "UPDATE `history` SET `status` = $_POST[status] WHERE `id` = $_POST[id]");
}?>
Если изменить код на тот что внизу, то работает, НО будет изменять ВСЕ данные таблицы.
<?
if ($_POST['submit']) {
mysqli_query($CONNECT, "UPDATE `history` SET `status` = $_POST[status]");
}?>
Так как в форме нет элемента с name="id", то в $_POST[id], по факту, нет никакого id. Чтобы он отправлялся при отправке формы, можно добавить в код формы скрытый <input> с соответствующим name:
<input type="hidden" name='id' value="' . $Query['id'] . '" />
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости