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
Форумы портала PHP.SU :: Версия для печати :: Сложение цифр из базы данных
Форумы портала PHP.SU » » Вопросы новичков » Сложение цифр из базы данных

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

1. Григорий - 17 Июля, 2014 - 15:15:35 - перейти к сообщению
Доброго времени суток!
Прошу помощи
Есть база данных в которой нажодятся цифры
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.         $result = mysql_query("SELECT * FROM pokupki WHERE id_klient = $wh");
  4.         $myrow = mysql_fetch_array($result);
  5.  
  6.         do {
  7.  
  8.                 $price  .= "$myrow[cena]+";
  9.         }
  10.                 while ($myrow = mysql_fetch_array ($result));
  11.  
  12.  


$price - выводит в виде 999999+899999+45345+
а как мне сделать чтобы выводилось сумма???
2. Sail - 17 Июля, 2014 - 15:56:01 - перейти к сообщению
Григорий пишет:
Доброго времени суток!
Прошу помощи
Есть база данных в которой нажодятся цифры
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.         $result = mysql_query("SELECT * FROM pokupki WHERE id_klient = $wh");
  4.         $myrow = mysql_fetch_array($result);
  5.  
  6.         do {
  7.  
  8.                 $price  .= "$myrow[cena]+";
  9.         }
  10.                 while ($myrow = mysql_fetch_array ($result));
  11.  
  12.  


$price - выводит в виде 999999+899999+45345+
а как мне сделать чтобы выводилось сумма???

Как-то так:
PHP:
скопировать код в буфер обмена
  1. ...
  2. $summa = 0;
  3. do {
  4.  ...
  5.  $summa += $myrow['cena']
  6. } while (...);
  7. var_dump($summa);
3. Григорий - 17 Июля, 2014 - 15:59:44 - перейти к сообщению
Огромное спасибо всё работает!!!
4. DeepVarvar - 17 Июля, 2014 - 16:05:21 - перейти к сообщению
Уважаемые умники - это делается одним запросом на стороне БД:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SUM(cena) cena FROM pokupki WHERE id_klient = $wh

База сразу вернет сумму и ничего не нужно считать в пыхе.
5. Sail - 17 Июля, 2014 - 16:07:07 - перейти к сообщению
DeepVarvar пишет:
Уважаемые умники - это делается одним запросом на стороне БД

А давайте не будем гадать, что автор делает с другими данными, возвращаемыми его запросом Улыбка
6. DeepVarvar - 17 Июля, 2014 - 16:11:09 - перейти к сообщению
Другие данные никак не повлияют на подсчет суммы. Тыц
7. Sail - 17 Июля, 2014 - 16:13:19 - перейти к сообщению
DeepVarvar пишет:
Другие данные никак не повлияют на подсчет суммы. Тыц

А к чему плодить запросы и обвязку для обработки результатов, если все необходимое уже получено? Улыбка
8. DeepVarvar - 17 Июля, 2014 - 16:16:44 - перейти к сообщению
Не понимаю в чем прикол. Показать на примере как можно одним запросом вывести полный список клиентов и суммы всех их заказов без дублирования имен клиентов?
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT id_klient, SUM(cena) summa_zakaza
  2.     FROM pokupki
  3.     GROUP BY id_klient
9. Sail - 17 Июля, 2014 - 16:23:15 - перейти к сообщению
DeepVarvar пишет:
Не понимаю в чем прикол. Показать на примере как можно одним запросом вывести полный список клиентов и суммы всех их заказов без дублирования имен клиентов?

Ведь явно же видно, что ТС-ом приведен не весь код обработки запроса.
И вопрос ведь не в том, чтобы "одним запросом вывести полный список клиентов и суммы всех их заказов без дублирования имен клиентов". Улыбка
А гадать, что имел ввиду ТС - занятие неблагодарное...

 

Powered by ExBB FM 1.0 RC1