提交时我有一堆复选框,值(如果选中)被添加到数组并序列化,然后在一行中保存在我的数据库中。
现在我想在选中相应复选框的编辑页面上显示复选框。
我目前正在输出复选框......
HTML
6 w <input type="checkbox" name="size[]" value="6 w">
7 w <input type="checkbox" name="size[]" value="7 w">
8 w <input type="checkbox" name="size[]" value="8 w">
我试过回显一个已检查的值,但不确定如何检查正确的值。这是我遇到的一个网站的建议...
HTML
6 w <input type="checkbox" name="size[]" value="6 w" <? echo $checked['6 w'] ?> >
7 w <input type="checkbox" name="size[]" value="7 w" <? echo $checked['7 w'] ?> >
8 w <input type="checkbox" name="size[]" value="8 w" <? echo $checked['8 w'] ?> >
PHP
$size = unserialize($row["size"]);
$array = "";
foreach($size as $size_available)
{
$array .= "$size_available,";
}
$array_explode = explode(',',$array);
//$checked = "";
foreach ($array_explode as $v){
$checked[$v] = "checked='CHECKED'";
}
这几乎可以显示选中的正确复选框,但任何未存储在数组中的复选框都会给出 undefined index 错误。我猜是因为它正在输出一个空变量???
有什么建议从这里去哪里或如何以更好的方式做到这一点?
干杯
最佳答案
在使用 isset()
访问索引之前验证索引是否已设置 -
<? echo (isset($checked['8 w']))? $checked['8 w'] : "" ?>
关于来自存储在数据库中的数组的php输出复选框然后显示选中如果选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12558803/