Php 所有复选框都已签出

Php 所有复选框都已签出,php,mysql,sql,checkbox,mysqli,Php,Mysql,Sql,Checkbox,Mysqli,我有个问题 我有一个带有数据库生成的复选框的页面。当我们按下复选框并提交它时,它工作正常,并且正在数据库中更新。但是,当我尝试取消选中1复选框时,它将选中所有选中的复选框 查询: if(isset($_POST['submit'])){ foreach ($_POST['untrain'] as $room_id => $user_id) { // This query needs protection from SQ

我有个问题

我有一个带有数据库生成的复选框的页面。当我们按下复选框并提交它时,它工作正常,并且正在数据库中更新。但是,当我尝试取消选中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"; } ?>
我使用了隐藏输入类型的技巧,但它正在签出所有选中的复选框


提前谢谢

您已经在这里发布了这个问题,这不是同一个问题,先生。为什么您在同一个房间的同一个属性上有两个复选框?为什么不在酒店的每个房间使用一个复选框呢。然后在PHP中,您只需检查它是否已被检查。@blablabla您能解释一下如何检查吗?我在这方面是个新手,你有一个复选框可以将房间设置为训练有素的房间,还有一个复选框可以将房间设置为未训练有素的房间。提交表单时,这两个查询都将出现在结果中,因此两个查询都将运行。这使得当设置名为“amk[]”的复选框时,第一个复选框不再重要。