如何使用表单更新数据库记录

时间:2012-04-04 15:05:10

标签: php mysql arrays forms textbox

我从mysql收集的记录有很多记录说:

id      name     mark 
1234    john     18
53      smith    12
324     mike     15
...

我想构建一个表单,以便能够同时编辑(更新)所有mark个 我知道我可以使用textbox value属性在表单中显示它们。 但是,当我想处理发布的表单时,如何识别完全相同的记录,以便更新正确的字段?而且,我不知道表格中有多少记录。

这个想法可能是通过id字段识别记录。 但是怎么做?

2 个答案:

答案 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_";

如果它是最终用户的申请,您不希望相信他/她不会改变隐藏输入的值。在这种情况下,您很可能希望将idnamemark存储在$_SESSION变量中,并对{{1}进行比较找出哪个记录​​属于哪个post,然后相应地构建你的id语句。