【发布时间】:2011-10-29 07:06:30
【问题描述】:
我有一个包含多个类别的表单。它们由复选框分隔,因此可以检查其帖子/故事所在的任意数量的类别。
这些值存储在一个 db 行中,在 INSERT 时用逗号分隔它们
GetSQLValueString(implode($_POST['r_category'],", "), "text"),
所以在数据库中我可以有一个如下所示的条目:
2,3,6,12
这些是类别编号。
我现在正在构建一个编辑表单功能,用于编辑和更新这些记录。我找不到将值“分解”到编辑表单上的复选框中的方法??
因此,例如,如果您登录并转到要编辑的条目,我有分隔类别的复选框,因此很容易选中和取消选中添加和不添加...我已经尝试了所有我可以在查看此编辑表单时将值发送到 POST 并进行检查。
这是我的编辑表单页面上的一个类别复选框的示例,但是当我有多个类别时它不起作用,就像上面的示例一样.. 2,3,6,12 ?? :
<input type="checkbox" name="r_category[]"
<?php if (!(strcmp("2", $row_Recordset2['r_category']))) {
echo "checked=\"checked\"";} ?> value="2" />Cat 2
提前感谢忍者!!
【问题讨论】:
-
在一个字段中存储多个值总是一个坏主意,也是一个糟糕的设计。您应该规范化事物并将这些值存储在单独的表中。照原样,如果“2”出现在您的任何地方,您在 PHP 中的“检查”代码将勾选一个复选框。所以“12,22”的值也会检查“2”。
标签: php mysql checkbox explode implode