[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Изменение нескольких строк в БД
alexress
Всем привет! Заинтересовал меня очень сей вопрос. Предположим есть данные
<form method="post" action="/com/org/cdekaction">
<?
foreach($zak as $item):?>
<input
type="text" name="content[]" value="">
<input
type="text" name="mixidn[]" value="">
<?
endforeach?>
<input
type="submit" value="Сохранить"/>
</form>

Это упрощенно, пара инпутов выводится циклом, их может быть и 10-20 пар, зависит от условия. Далее обработчик:
foreach ($_POST['content'] as $key=>$cont) 
echo "индекс $key значение $cont\n <br>";
foreach ($_POST['mixidn'] as $key=>$midd)
echo "индекс $key значение $midd\n <br>";

Например, для двух пар на выходе имеем:
индекс 0 значение Тест 1 
индекс 1 значение Тест 2
индекс 0 значение Проба 1
индекс 1 значение Проба 2

На этот момент в БД уже есть строки с пустыми полями content и number. Если не массивы, то можно вывести как

$sql = "UPDATE `cdek` SET content = '$cont' WHERE number = '$midd'";
$DB->execute($sql);
echo $sql;

но задачу это, естественно, не решит, ибо в БД пойдет только одна строка
UPDATE `cdek` SET content = 'Тест 2' WHERE number = 'Проба 2' 

очевидно, надо запрос каким-то образом также занести в цикл, например for или while. Вопрос к знатокам, кто сталкивался или не сталкивался, как грамотно это сделать? Заранее спасибо!
Быстрый ответ:

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