Jump to content

Проблема с while{ while{} } при обработке данных из БД


Recommended Posts

Всем добрый вечер!

 

Сегодня столкнулся с такой проблемой в ДЛЕ. Когда беру все записи и потом делаю какое вычисление и снов заношу данные в эту же таблицу.

Исходник:

 

$db->query("SELECT ид, название FROM таблица");
 while ($row = $db->get_row()) {
 
          $alt_name = totranslit( stripslashes( $row['название '] ), true, false );
 
          $db->query("UPDATE таблица set новое_поле='{$alt_name}' WHERE id='{$row['ид']}'");
 
}
 
Как можно по-другому выполнить этот скрипт. Потому что выполняется только первая запись и все. Скрипт останавливается.
Link to post
Share on other sites

Если записей не много, то можно разбить на два цикла:

  • в первом цикле собирать данные в массив
  • во втором цикле по массиву обновлять данные;

Другой способ: в цикле строить один большой запрос и разом обновить данные

Link to post
Share on other sites

Если записей не много, то можно разбить на два цикла:

  • в первом цикле собирать данные в массив
  • во втором цикле по массиву обновлять данные;

Другой способ: в цикле строить один большой запрос и разом обновить данные

записей очень много десятки тысяч. Ресурс не экономно расходуется так.

 

Проблема уже решена. Вот и все

 

$sql_query = $db->query("SELECT ид, название FROM таблица");
 while ($row = $db->get_row($sql_query)) {
Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...