将数据从数据库插入到回显复选框

时间:2018-07-02 02:28:58

标签: php implode

我有一个数据数组,在数据库中用逗号分隔。

enter image description here 现在,我要执行的操作是从目的列中插入字符串。

enter image description here

并使该复选框以我的echo checked;形式列出(如果该列表在数据库中)。

希望你们能帮助我。谢谢!

2 个答案:

答案 0 :(得分:1)

如果必须执行此操作,则:

$checkedPurposes = preg_split('/\s*,\s*/', $purposeColumnFromDatabase);
// then for each checkbox
if (in_array($purposeName, $checkedPurposes)) {
    // echo checked
}

正则表达式确保与逗号周围的空格数量无关的错字。

但是,正如其他用户在评论中所说,这是错误的数据库设计。如果您可以更改架构以将目的移动到自己的表中,则可能应该这样做。

答案 1 :(得分:1)

这是一个示例(尽管这不是设计代码的正确方法)。

$purposesFull=array('a','b','c','d','e');
$purposesFromDB='a,b,d';
$purposesFromDBArray=explode(',',$purposesFromDB);
foreach($purposesFull as $item){
    $checked = in_array($item,$purposesFromDBArray) ? ' checked' : '';
    echo '<input type="checkbox" name="purs[]"'.$checked.'>'.$item;
    echo '<br/>';
}