我正在写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')
我的问题是,如果数组具有与复选框的值一样的值,但我却不能,则我想选中复选框。
答案 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;
?>