поэтому у меня динамически сгенерированной таблицыPhp обновление базы, если флажок не установлен
<tr>
<td><?php echo $row['RequestID']?></td>
<td><?php echo $row['FirstName'] . " " . $row['LastName']?></td>
<td><?php echo $row['DateRequested']?></td>
<td><?php echo $row['DateNeeded']?></td>
<td><?php echo $row['TotalPrice']?></td>
<td><?php echo $row['Company']?></td>
<td><?php echo $row['Account']?></td>
<td><?php echo $row['Brand']?></td>
<td><?php echo $quantity?></td>
<td><input type="checkbox" name="bill[]" value=<?php echo '"' . $row['RequestID'] . '"'; if($row['BillBack'] == "1") {echo "checked='checked'"; } ?></td>
</tr>
и я хочу, чтобы обновить базу данных, когда строка проверяется или бесконтрольно.
if(isset($_POST['submit'])){//to run PHP script on submit
if(!empty($_POST['bill'])){
// Loop to store and display values of individual checked checkbox.
foreach($_POST['bill'] as $selected){
echo "hello";
$sql2 = "UPDATE Requests SET BillBack = '1' WHERE RequestID = '$selected'";
$result2 = $conn->query($sql2);
}} elseif(empty($_POST['bill'])){
// Loop to store and display values of individual checked checkbox.
foreach($_POST['bill'] as $selected){
echo "hello";
$sql2 = "UPDATE Requests SET BillBack = '0' WHERE RequestID = '$selected'";
$result2 = $conn->query($sql2);
}}
}
Теперь. Операция if работает как шарм. Для каждого установленного флажка в представлении эта запись обновляется. Проблема заключается в снятии флажков. Как вы можете видеть, отмеченные флажки найдены, находя то, что не пусто. Но, когда я удаляю этот восклицательный знак, это не делает фактически наоборот. Он также не работает, поскольку он является собственным, если утверждение, как прямое утверждение else, и проверка на! Isset. Это из-за того, что входы считаются проверенными? есть ли синтаксическая ошибка? Я сделал около 5 часов проверки ошибок, googling, и я не мог понять это. Спасибо, ребята
Не используйте 'empty()' для флажков, используйте 'isset()'. –
@ Fred-ii- подобный я сказал,! Isset() все еще не работает. isset() работает, чтобы установить флажки для проверки. но! isset() не устанавливает флажки для снятия флажка. – Sharkn8do
Непроверенные флажки не публикуются. Таким образом, вам нужно найти другой способ узнать, какие флажки не были проверены, и соответственно сделайте свое обновление. – BizzyBob