Sign in to follow this  
Followers 0
qmaer

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

3 posts in this topic

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

 

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

Исходник:

 

$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['ид']}'");
 
}
 
Как можно по-другому выполнить этот скрипт. Потому что выполняется только первая запись и все. Скрипт останавливается.

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.