PHP-多个复选框将检查何时数据加载有效值

时间:2018-09-26 03:37:40

标签: php

我正在写html,php代码。我的html:

<input type="checkbox" name="food[]" value="apple"/>
<input type="checkbox" name="food[]" value="banana"/>
<input type="checkbox" name="food[]" value="something"/>

我确实获取并在数据库中保存了多个复选框的值。而当我得到数据库时:

Array([0]=>'apple',[1]=>'banana')

我的问题是,如果数组具有与复选框的值一样的值,但我却不能,则我想选中复选框。

2 个答案:

答案 0 :(得分:1)

如果您的复选框的值是从数据库中返回的(大概是我所理解的),那么您大概希望能够选中它们:

<?php
function checkit($queryArr, $val)
{
    # If a value is in the array from the database, add checked attribute
    return (in_array($val, $queryArr))? ' checked="checked"' : '';
}
# Array back from database
$queryArr = ['apple','banana'];
?>

<input type="checkbox" name="food[]" value="apple"<?php echo checkit($queryArr, 'apple') ?> />
<input type="checkbox" name="food[]" value="banana"<?php echo checkit($queryArr, 'banana') ?>/>
<input type="checkbox" name="food[]" value="something"<?php echo checkit($queryArr, 'something') ?>/>

答案 1 :(得分:0)

您也可以以这种方式呈现您的复选框。

<?php 
  $data['food'] = array('apple', 'banana'); //db retrieved value

$foodList = array('apple', 'banana', 'something');

foreach($foodList as $food) {
$checked = in_array($food, $data['food']) ? "checked = 'checked' " : "";
$out = "<input type='checkbox' name='food[]' value='{$food}' {$checked}>";
$out .=$food;
echo $out;
?>