来自存储在数据库中的数组的php输出复选框然后显示选中如果选中

标签 php mysql arrays checkbox

提交时我有一堆复选框,值(如果选中)被添加到数组并序列化,然后在一行中保存在我的数据库中。

现在我想在选中相应复选框的编辑页面上显示复选框。

我目前正在输出复选框......

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/

相关文章:

php - 当新人在表单上注册时创建文件夹

php - paytm 在核心 php 中的集成

Mysql slave 崩溃后不同步

arrays - 在 perl 中对数组使用编辑距离

java - 带有数组对象的 FileScanner

c - 在函数中使用 realloc 操作动态数组

PHP:如何在redis中缓存大表?

python - cc1 : error: unrecognized command line option "-Wno-null-conversion" within installing python-mysql on mac 10. 7.5

mysql - 请求 "DELETE"未由应用程序注册

php - 显示php表的数据和计算