我有一个页面,可以在其中更新大量数据,我想知道在后端存储这些数据的最佳方式是什么(通常使用最少的代码)。
页面上每个值都可以更改的数据集如下所示:
ID名称数据MURDATA FINALDATA1 MyName XYZ 425 Blah2 Anoth ASDF 87 9873最后DKL 38 19bm
我如何循环浏览帖子数据,以便一次更新所有提交的数据?
不能用不同的值更新两个元组。您必须为每个元组执行一个UPDATE
,或者使用ON DUPLICATE KEY UPDATE
-语法执行大容量插入。请参阅MySQL参考资料。
有一个表单,其输入的名称后缀为[]
。通过这种方式,您可以在PHP中以数组的形式访问这些输入:
$result = mysql_query("SELECT * FROM table");
while ($tuple = mysql_fetch_assoc($result))
{
echo '<input type="text" name="name['.(int)$tuple["id"].']" value="'.htmlentities($tuple["name"]).'" />';
// echo more inputs ...
}
你的后处理代码可能看起来像这个
foreach ($_POST["name"] as $id => $data)
{
// todo: check if all $_POST columns are set, before accessing them
// if (!isset($_POST["data"][$id], $_POST["murdata"][$id], ...)
// continue;
$query = "UPDATE table SET ".
$query .= "name = ".mysql_real_escape_string($_POST["name"][$id])."'";
// the other columns...
$query .= "WHERE id = '".(int)$id."'";
}