我提交了一堆复选框,将值(如果选中)添加到数组并序列化,然后保存在我的数据库中。
现在,我想在编辑页面上显示复选框,并选中相应的复选框。
我目前正在输出复选框......
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'";
}
这几乎可以显示正确的复选框已选中,但未存储在数组中的任何复选框都会显示未定义的索引错误。我猜是因为它输出一个空变量???
有什么建议可以从这里开始,或者如何更好地做到这一点?
干杯
答案 0 :(得分:1)
在使用isset()
-
<? echo (isset($checked['8 w']))? $checked['8 w'] : "" ?>
答案 1 :(得分:0)
改变这个:
foreach($size as $size_available)
为此:
foreach($_REQUEST['size'] as $size_available)
不需要unserialize命令。