Задать вопрос

PHP, MYSQL данные из массива, как переменная

Здравствуйте. Подскажите мне как реализовать на PHP мою хотелку: Имеется 2 таблицы: table1 и price_imp

С помощью такого запроса я выбираю все необходимые мне obj_id которые надо обновить

$textsql='SELECT `obj_id`, COUNT(*) AS `count` FROM `table1` GROUP BY `obj_id` HAVING `count` > 100';
$answsql=mysql_query($textsql);


Дальше код, что и как я обновляю:

if (!empty($V5))
{
 $textsql='SELECT price_imp.float_val FROM price_imp WHERE     price_imp.varchar_val="'.$V5.'"';
 $answsql=mysql_query($textsql);
 $FL5=mysql_result($answsql,0,0);

 $texsql='UPDATE table1 SET table1.float_val="'.$Fl5.'" WHERE table1.field_id=470 and table1.obj_id="'.$id.'"';
 $answsql=mysql_query($textsql);
 echo mysql_error();
 echo 'Цена для пятого размера товара с id='.$id.'<br>';


Подскажите, мне как задать эту самую переменную $id, и обновить перебором весь этот массив, который я получил в начале. Очень нужно, чтобы обновление происходило "кусками". Т.е. 1 obj_id, одно обновление, потом следующее. Нельзя сильно нагружать базу =( Спасибо!

P.S. То есть мне нужно выполнить построчно мой запрос. $id Данные я беру из массива.
  • Вопрос задан
  • 2940 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
macik_spb
@macik_spb
Ф-ф-фрилансер :))
Не очень понятна задача. В принципе, правильно подсказал @fomistoklus — foreach.
Вопрос на сколько большой у вас массив и как сильно надо по времени растянуть удовольствие? Прерывается ли при этом сессия (т.е. надо ли сохранять результаты между запросами к серверу) ?

Еще один, встречный, вопрос: что значит «сильно нагружать базу» ? Как раз «пакетная» обработка данных сильно меньше нагружает базу, чем перебор всего цикла выполняя на каждый шаг отдельный запрос. Просто пакеты можно формировать небольшие по 10-100-500 записей, в зависимости от ваших условий это будет быстрее и скорее всего менее затратно по ресурсам.

Под пакетной
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы