将数据库中的数据内爆到选中的回显复选框
implode a data from database to echo checkbox as checked
我有一个数据数组,在数据库中用逗号分隔。
现在,我想要做的是从列 purpose 内爆字符串。
并在我的表单中创建该复选框列表 echo checked;
如果该列表在数据库中。
希望大家能帮帮我。谢谢!
如果您必须这样做,那么:
$checkedPurposes = preg_split('/\s*,\s*/', $purposeColumnFromDatabase);
// then for each checkbox
if (in_array($purposeName, $checkedPurposes)) {
// echo checked
}
正则表达式确保有关逗号周围空格数的拼写错误无关紧要。
正如其他用户在评论中所说的那样,这是糟糕的数据库设计。如果您可以更改架构以将用途移至它们自己的 table,您可能应该这么做。
这是一个示例(虽然这不是设计代码的正确方法)。
$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/>';
}
我有一个数据数组,在数据库中用逗号分隔。
并在我的表单中创建该复选框列表 echo checked;
如果该列表在数据库中。
希望大家能帮帮我。谢谢!
如果您必须这样做,那么:
$checkedPurposes = preg_split('/\s*,\s*/', $purposeColumnFromDatabase);
// then for each checkbox
if (in_array($purposeName, $checkedPurposes)) {
// echo checked
}
正则表达式确保有关逗号周围空格数的拼写错误无关紧要。
正如其他用户在评论中所说的那样,这是糟糕的数据库设计。如果您可以更改架构以将用途移至它们自己的 table,您可能应该这么做。
这是一个示例(虽然这不是设计代码的正确方法)。
$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/>';
}