使用CodeIgniter循环处理post数据并更新/保存到DB


Use CodeIgniter to loop through post data and update/save to DB

我有一个页面,可以在其中更新大量数据,我想知道在后端存储这些数据的最佳方式是什么(通常使用最少的代码)。

页面上每个值都可以更改的数据集如下所示:

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."'";
}