提交表单后如何保持复选框数组处于选中状态

时间:2019-08-22 03:47:25

标签: php html checkbox

我有以下代码来显示动态复选框。

while($result = mysqli_fetch_array($query)){
    $oaName = $result['oaName'];
    echo '<input class="checkBoxes" type="checkbox" name="checkBoxArray[]" value="'.$oaName.'" style="float:left;"'; ?> <?php if(isset($_POST['checkBoxArray'])) echo "checked='checked'"; ?> <?php echo '>'; ?>
}

我只想保留提交表单后选中的那些复选框的状态。但是使用上述代码,在提交表单后,所有复选框均显示为选中状态。有人知道我在做什么错吗?

编辑1

checkBoxArray[]是从数据库获取的复选框名称

1 个答案:

答案 0 :(得分:0)

经过几次试验,我可以通过以下方式完成它。这里的关键是使用in_array

while($result = mysqli_fetch_array($query)){
    $oaName = $result['oaName'];
    echo '<div class = "checkbox-group" required ><input class="checkBoxes" type="checkbox" name="checkBoxArray[]" value="'.$oaName.'" style="float:left;"'; ?> <?php if(in_array($oaName,$_POST['checkBoxArray'])) echo "checked='checked'"; ?> <?php echo '></div>
}