Вы не можете обновить два кортежа с разными значениями. Вам нужно будет сделать один 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."'";
}