我有一個帶有數據庫生成的複選框的頁面。當我們按複選框並提交它時,它工作正常,它正在數據庫中更新。但是當我試圖取消選中「1」複選框時,它將檢出所有選中的複選框。複選框正在檢出
查詢:
if(isset($_POST['submit'])){
foreach ($_POST['untrain'] as $room_id => $user_id) {
// This query needs protection from SQL Injection!
$user_id;
$untrainQuery = "UPDATE room_users SET trained = '1' WHERE user_id = $user_id AND room_id = $room_id";
$db->update($untrainQuery);
}
}
if(isset($_POST['submit'])){
foreach ($_POST['amk'] as $room_id => $user_id) {
// This query needs protection from SQL Injection!
$user_id;
$untrainedQuery = "UPDATE room_users SET trained = '0' WHERE user_id = $user_id AND room_id = $room_id";
$db->update($untrainedQuery);
}
}
複選框:
<?php
if($room->trained == 1)
{ ?>
<input type='hidden' value="<?php echo $room->user_id; ?>" name="amk[<?php echo $room->room_id; ?>]">
<input type='checkbox' value="<?php echo $room->user_id; ?>" name="trained[<?php echo $room->room_id; ?>]" checked>
<?php echo "Y"; }
else{ ?>
<input type='checkbox' value="<?php echo $room->user_id; ?>" name="untrain[<?php echo $room->room_id; ?>]">
<?php echo "N";
}?>
</td>
<Td><?php
if($room->active == 1) {
?> <input type='checkbox' name="<?php echo $room->room_id; ?>" checked>
<?php echo "Active"; }
else { ?>
<input type='checkbox' name="<?php echo $room->room_id; ?>"
<?php echo "Inactive"; } ?>
我用的伎倆與複選框前的「隱藏」的輸入,但唯一的問題是,它不工作。當我點擊它,它將所有複選框重置爲0.
請格式化您的代碼,以便閱讀。這不僅對我們幫助你有幫助,而且對你也容易找到那些錯誤。特別是複選框的結構是我作爲一個代碼審查人員將會扔進垃圾箱。 –
@ b.enoit.be編輯:) –