Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于保留POST值的foreach复选框_Php_Foreach - Fatal编程技术网

Php 用于保留POST值的foreach复选框

Php 用于保留POST值的foreach复选框,php,foreach,Php,Foreach,我试图将POST值存储到选中的复选框中,但在表单提交后存储数据时遇到了一些问题。这就是我所拥有的: <fieldset> <legend>Categories:</legend> <?php $sql3 = 'SELECT id, name FROM category'; foreach ($dbConnection->query($sql3) as $cat

我试图将POST值存储到选中的复选框中,但在表单提交后存储数据时遇到了一些问题。这就是我所拥有的:

<fieldset>
            <legend>Categories:</legend>
            <?php $sql3 = 'SELECT id, name FROM category'; 
                    foreach ($dbConnection->query($sql3) as $category) { ?>
            <div>       
                <label for="category<?php echo($category['id']);?>">
                <input type="checkbox" name="categories[]" id="category<?php echo($category['id']); ?>" value="<?php echo($category['id']); ?>"
                <?php if(isset($_POST['category']) && $_POST['category'] == $category['id']) { echo 'checked'; } ?>>
                <?php echo($category['name']); ?></label>
            </div>
            <?php } ?>
            </fieldset>

有没有可能有人可以帮忙?

将您的if语句更改为:

<?php if(isset($_POST['categories']) && in_array($category['id'],$_POST['categories'])) { echo 'checked'; } ?>>
        <?php echo($category['name']); ?></label>