Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / UPDATE в цикле / 5 сообщений из 5, страница 1 из 1
24.05.2013, 23:08
    #38272909
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE в цикле
нужно обновить несколько записей за раз!

Код: php
1.
2.
3.
4.
5.
for($j = 0; $j < count($telefonArray); $j++)
{
    mysql_query("UPDATE recordstablo SET fullName='".$nameArray[$j]."', telephone='".$telefonArray[$j].
           "', firmName='".$firmArray[$j]."', carNumber='".$autoArray[$j]."', note='".$noteArray[$j]."'WHERE telephone='".$telefonArray[$j]."'");		 
}



не получается. в то время как один запрос работает на ура! Как быть??
...
Рейтинг: 0 / 0
25.05.2013, 01:02
    #38272953
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE в цикле
AreostarКак быть??
Код: php
1.
2.
3.
4.
5.
6.
for($j = 0; $j < count($telefonArray); $j++)
{
    $updateQuery="UPDATE...";
    var_dump($updateQuery);
    mysql_query($updateQuery) or die("Кранты: " . mysql_error());
}

P.S.
Вам уже советовали
...
Рейтинг: 0 / 0
25.05.2013, 12:46
    #38273074
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE в цикле
Areostar,

А Вы соберите в цикле одну строчку из апдейтов, и выполните её один раз. Это всё же лучше, чем выполнять SQL-скрипт в цикле.
Более правильное решение - на основании одной таблицы проапдейтить вторую. Тоже одним апдейтом.
...
Рейтинг: 0 / 0
26.05.2013, 11:48
    #38273541
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE в цикле
Areostar,

Код: php
1.
2.
3.
4.
5.
6.
7.
$data= array();
foreach($telefonArray as $j => $phone) {
    $data[]= '"'.implode('"',array_map('mysql_real_escape_string',array($nameArray[$j],$phone,$firmArray[$j],$autoArray[$j],$noteArray[$j]))).'"';
}
mysql_query(
  'INSERT INTO recordstablo (fullName, telephone, firmName, carNumber, note) VALUES ('.implode('),(', $data).') ON DUPLICATE KEY UPDATE fullName=VALUES(fullName), telephone=VALUES(telephone), firmName=VALUES(firmName), carNumber=VALUES(carNumber), note=VALUES(note)'
);	 



Но я бы вам посоветовал менять стурктуру данных.
Юзайте в форме что то типа:
Код: html
1.
2.
3.
4.
5.
<input type="data[0][phone]">
<input type="data[0][note]">
...
<input type="data[123][phone]">
<input type="data[123][note]">


Обрабатывать намного проще будет
...
Рейтинг: 0 / 0
27.05.2013, 07:48
    #38274168
mhx
mhx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPDATE в цикле
prepare() перед циклом и execute() в теле цикла так и просятся в код
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / UPDATE в цикле / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]