我从mysql收集的记录有很多记录说:
id name mark
1234 john 18
53 smith 12
324 mike 15
...
我想构建一个表单,以便能够同时编辑(更新)所有mark
个
我知道我可以使用textbox value属性在表单中显示它们。
但是,当我想处理发布的表单时,如何识别完全相同的记录,以便更新正确的字段?而且,我不知道表格中有多少记录。
这个想法可能是通过id
字段识别记录。
但是怎么做?
答案 0 :(得分:0)
构建表单时,请使用数据库中的ID作为每个文本字段的NAME属性的一部分。然后,当您收到已发布值的数组时,您可以处理密钥以找出您应该更新的记录的ID。例如,您可以将您的字段命名为“record-1234”,“record-53”等。然后,您将迭代$ _POST中的键,将它们拆分为“ - ”并在UPDATE查询中使用结果ID。
答案 1 :(得分:0)
如果此应用程序仅供管理使用:
<input type="hidden" name="id" id="id" value="_ID_VALUE_" />
<input type="text" name="name" id="name" value="_NAME_VALUE_" />
<input type="text" name="mark" id="mark" value="_MARK_VALUE_" />
然后
UPDATE table SET mark = '_SANITIZED_MARK_VALUE_' WHERE id = "_SANITIZED_ID_VALUE_";
如果它是最终用户的申请,您不希望相信他/她不会改变隐藏输入的值。在这种情况下,您很可能希望将id
,name
和mark
存储在$_SESSION
变量中,并对{{1}进行比较找出哪个记录属于哪个post
,然后相应地构建你的id
语句。