不能在 while 循环中 select 多个复选框

Can't select multiple checkboxes in while loop

使用 while 循环后,我只 select 第一个复选框,但我不能 select 页面中的多个复选框。请解决这个问题。

$get=mysqli_query($con,"select * from subjects where cour_id='$id'") or die(mysqli_error($con));
    while($data=mysqli_fetch_array($get))
    {
        ?>
        <div class="be-checkbox">
        <input id="check" type="checkbox" name="chk[]" value="<?php echo $data['sub_name'];?>">
        <label for="check"><?php echo $data['sub_name'];?></label>
        </div>
       <?php
    }

应该是这样的:

$get=mysqli_query($con,"select * from subjects where cour_id='$id'") or die(mysqli_error($con));
    while($data=mysqli_fetch_array($get))
    {
        ?>
        <div class="be-checkbox">
        <input id="check<?php echo $data['id'];?" type="checkbox" name="chk[]" value="<?php echo $data['sub_name'];?>">
        <label for="check<?php echo $data['sub_name'];?"><?php echo $data['sub_name'];?></label>
        </div>
       <?php
    }

使您的输入 ID 独一无二。如果您的查询没有 id 字段,请更改 id。只需使用一些独特的东西。我还建议您使用 PHP 的 PDO 库而不是 mysqli_query。它提供了一种 OOP 方式来连接您的数据库,并使您的查询更加安全。