【发布时间】:2014-12-12 11:18:00
【问题描述】:
我有一个选择列表,用户可以在其中选择一个或多个选项。我使用一个数组将这些选择存储在表单中,然后 POST 将它们作为字符串写入 MySQL 数据库,稍后我会在需要时将其分解。
这很好用,除了一件事。一旦一条记录有一个或多个选择保存到数据库中,我就无法重新保存一个选择。
<p><input name="var[]" type="checkbox" value="1">One</p>
<p><input name="var[]" type="checkbox" value="2">Two</p>
<p><input name="var[]" type="checkbox" value="3">Three</p>
在 PHP 中,$_POST['var'] 被内爆并保存为字符串“1,2,3”或“1,3”等等。
当我取消选择所有复选框并提交表单时,PHP $_POST['var'] 不存在,因为它没有值(没有选择)所以它不会覆盖 db 列,没什么……
这是 CMS/CRUD 系统的一部分,因此在 PHP 管理中添加条件不是所需的路径。 Select 表单在不同的应用程序中可以/将会有不同的名称。
【问题讨论】:
-
所以我所做的是添加一个 Javascript 取消选择所有调用 Ajax 的函数,该页面包含所有必要的变量,该页面有一个 PHP 脚本,当用户单击“取消选中所有”时,该脚本会删除该列。我想唯一的缺点是如果用户取消编辑......
标签: php mysql arrays forms select