Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Изменение нескольких строк в БД, массивы и UPDATE
alexress  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 41002
На форуме: 1 год, 9 месяцев, 3 дня
Карма:




Всем привет! Заинтересовал меня очень сей вопрос. Предположим есть данные
<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. Вопрос к знатокам, кто сталкивался или не сталкивался, как грамотно это сделать? Заранее спасибо!
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3375
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 9 дней
Карма: 170




alexress

В цикле собираешь запрос, потом отправляешь его.

CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END


http://dev.mysql.com/doc/refman/5.7/en/con...-functions.html


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 297
Пользователь №: 40589
На форуме: 2 года, 2 дня
Карма: 19




odku
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
alexress  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 41002
На форуме: 1 год, 9 месяцев, 3 дня
Карма:




Цитата (AllesKlar @ 31.01.2016 - 23:48)
alexress

В цикле собираешь запрос, потом отправляешь его.

CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END


http://dev.mysql.com/doc/refman/5.7/en/con...-functions.html

Спасибо, попробую сегодня
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса