[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Массовое сохранение измененных данных в mysql
Страницы: 1, 2
braindbrigada
<form method="POST">
<input
name="id" type="text" value="1">
<input
name="name" type="text" value="Вася">
<input
name="phone" type="text" value="12345">
<input
type="submit" value="Сохранить">
</form>
<br/>
<form
method="POST">
<input
name="id" type="text" value="2">
<input
name="name" type="text" value="Петя">
<input
name="phone" type="text" value="54321">
<input
type="submit" value="Сохранить">
</form>


mysql_query("UPDATE baza SET 
`id`=
$_POST[id],
`name`=
$_POST[name],
`phone`=
$_POST[phone]
WHERE id={$id} LIMIT 1");


Что сейчас есть.

Нужно чтобы и можно было Сохранить и Сохранить все
Dezigo
Перечисли все номера
WHERE id IN (2,3,4,5,6,999) LIMIT 1
glock18
Цитата (Dezigo @ 26.06.2013 - 16:17)
LIMIT 1

? biggrin.gif

и обновить несколько записей одним апдейтом разными данными? wink.gif

одним запросом можно сделать только при помощи insert on duplicate key update. Но ТС не так привередлив?
andrey888
в твоем примере можно тремя запросами, при этом юзеров хоть сколько вставляй ...
Делается это через
UPDATE .. SET ... CASE ...
WHEN .. THEN ...
WHEN .. THEN ...
WHEN .. THEN ...
WHEN .. THEN ...

Погугли Mysql CASE ...
------------
И выше тебе Игорь_Vasinsky правильно написал .. Данные стоит проверять ..

_____________
Прогноз на следующие 5 лет : Россия, Китай - две величайшие державы.
США в Ж*пе. Справедливость восторжествует. )
asdf27
Моя простынка (код не проверял)

<?php
//подконнектили базу
if (isset($_GET[save_it])) { // Если пришли данные из формы
$count=count($_POST['ids']); // считаем сколько скрытых полей с id
for ($i=0; $i<=$count; $i++) {
$id=(int)$_POST[ids][$i]; // id записи
$name=$_POST[name.$id];
$name=mysql_real_escape_string($name);
$phone=$_POST[phone.$id];
$phone=mysql_real_escape_string($phone);
$res2=mysql_query("UPDATE baza SET name='$name', phone='$phone' WHERE id='$id'") or die(mysql_error());
echo 'Обновлена запись # '.$row['id'].'<br>';
}
}



else {
?>

<form action="?save_it" method="POST">
<
table><tr><td>Имя</td><td>Телефон</td></tr>
<?php
$res=mysql_query("SELECT * FROM baza");
while ($row=mysql_fetch_assoc($res)) {?>
<tr><td><input type="text" name="name<?php echo $row[id];?>" value="<?php echo $row[name];?>"></td>
<
td><input type="text" name="phone<?php echo $row[id];?>" value="<?php echo $row[phone];?>"></td></tr>
<
input type="hidden" name="ids[]" value="<?php echo $row[id];?>">
<?php
}
?>
</table>
</
form>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.