语境
我正在开发一个带有复选框组的配置文件创建表单,该复选框组内爆并将逗号分隔的数组插入到 MySQL 表 ($profile_table) 中。
<input type="checkbox" name="check_group[]" value="Foo" /> Foo<br />
<input type="checkbox" name="check_group[]" value="Bar" /> Bar<br />
<input type="checkbox" name="check_group[]" value="Baz" /> Baz<br />
$insert_array = implode(", ", $_POST['check_group']);
如果选中所有复选框,则数组如下所示:“Foo, Bar, Baz”
$insert_profile_query = "INSERT INTO profile_table
(check_group_field)VALUES ('".$insert_array."')";
$profile_query_qs = db_query($insert_profile_query);
上面的代码有效。
我需要一个编辑配置文件页面,其中复选框组使用上面创建并插入 MySQL $profile_table 的数组进行预填充。
以“Foo”复选框为例,我相信答案使用了 in_array 条件并且接近于:
<input type="checkbox" name="check_group[]" value="Foo"
<? $my_array = array(explode(", ", $profile_table['check_group_field']));
if (in_array("Foo", $my_array)) {echo 'checked="checked"';}?> /> Foo<br />
问题
具体来说,从 MySQL $profile_table.check_group_field 中取出数组的最佳功能是什么,以便我可以在 in_array 条件中使用它作为 $my_array 来预填充复选框组中的复选框?我需要先爆炸阵列吗?
示例资源
这是我引用的许多资源的示例;但是,我没有找到我需要解决的具体问题:
http://us1.php.net/in_array http://www.sitepoint.com/forums/showthread.php?577188-Retrieving-A-Checkbox-Array-from-MySql 从数组中填充复选框
提前致谢!