Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Получение информации из бд [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
Нуб-2
Отправлено: 10 Мая, 2013 - 16:20:11
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)

[+]


Спасибо, но этот код увеличивает не на 5, а сразу на 35.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require 'config.php';
  3. require 'db.php';
  4. $result = mysql_query("SELECT * FROM `users` ") or die(mysql_error()); // формирование информации из таблицы
  5. while($row = mysql_fetch_array($result)) // перебор строк таблицы с начала до конца
  6. {
  7. mysql_query("UPDATE users SET points = points + 5");
  8. }
  9. ?>
 
 Top
imya
Отправлено: 10 Мая, 2013 - 16:22:15
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


Помог: 19 раз(а)




DeepVarvar пишет:
imya пишет:
а как тогда ему вывести ? var_dump?
Исключительно после фетча.

Понял, спасибо.


http://developerslife[dot]ru/16

Утром было такое Радость Хорошо, что база тестовая Ха-ха

(Отредактировано автором: 10 Мая, 2013 - 16:23:03)



-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 10 Мая, 2013 - 16:28:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Нуб-2 пишет:
Спасибо, но этот код увеличивает не на 5, а сразу на 35.
Я привел целыхдва рабочих варианта на все случаи жизни.
Хотя апдейт в цикле можно переписать так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. require 'config.php';
  4. require 'db.php';
  5.  
  6. $result = mysql_query("SELECT id FROM `users`") or die(mysql_error());
  7. $arr = array();
  8. while($row = mysql_fetch_array($result)) {
  9.   $arr[] = $row['id'];
  10. }
  11. if ($arr) {
  12.   $arr = join(",", $arr);
  13.   mysql_query("UPDATE users SET points = points + 5 WHERE id IN({$arr})");
  14. }

Так вместо шести запросов (сейчас примерно шесть), всегда будет только два.
 
 Top
Нуб-2
Отправлено: 10 Мая, 2013 - 16:34:54
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)

[+]


DeepVarvar пишет:
Нуб-2 пишет:
Спасибо, но этот код увеличивает не на 5, а сразу на 35.
Я привел целыхдва рабочих варианта на все случаи жизни.
Хотя апдейт в цикле можно переписать так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. require 'config.php';
  4. require 'db.php';
  5.  
  6. $result = mysql_query("SELECT id FROM `users`") or die(mysql_error());
  7. $arr = array();
  8. while($row = mysql_fetch_array($result)) {
  9.   $arr[] = $row['id'];
  10. }
  11. if ($arr) {
  12.   $arr = join(",", $arr);
  13.   mysql_query("UPDATE users SET points = points + 5 WHERE id IN({$arr})");
  14. }

Так вместо шести запросов (сейчас примерно шесть), всегда будет только два.

Спасибо Улыбка
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB