0

我从 mysql 中收集了许多记录,例如:

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

我想构建一个表单以提供mark一次编辑(更新)所有 s 的能力,我知道我可以使用文本框值属性在表单上显示它们。但是,当我想处理已发布的表格时,如何识别完全相同的记录,以便更新正确的归档?而且,我不知道表格中有多少条记录。

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

4

2 回答 2

0

构建表单时,使用数据库中的 ID 作为每个文本字段的 NAME 属性的一部分。然后,当您收到您的发布值数组时,您可以处理键以找出您应该更新的记录的 ID。例如,您可以将字段命名为“record-1234”、“record-53”等。然后您将遍历 $_POST 中的键,将它们拆分为“-”并在 UPDATE 查询中使用生成的 ID。

于 2012-04-04T15:09:11.157 回答
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_";

如果它是最终用户的应用程序,您不想相信他/她不会更改隐藏输入的值。在这种情况下,您很可能希望将idname和存储mark在一个$_SESSION变量中,并对 进行比较post以确定哪个记录与哪个 相关id,然后update相应地构建您的语句。

于 2012-04-04T15:15:35.520 回答