Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчет итого
 
 автор: Лена Смирнова   (23.06.2009 в 16:45)   письмо автору
 
 

Есть такая конструкция:

 while ($field=mysql_fetch_array($query))
           {
           $num=$field['num'];
           }

Нужно вывести сумму всех $field['num'];

Как это делается на уровне php, а не mysql

  Ответить  
 
 автор: e   (23.06.2009 в 16:54)
 
   для: Лена Смирнова   (23.06.2009 в 16:45)
 

for($sum=0;$field=mysql_fetch_assoc($query);$sum+=$field['num'])
{
//...
}

  Ответить  
 
 автор: Лена Смирнова   (23.06.2009 в 17:02)   письмо автору
 
   для: e   (23.06.2009 в 16:54)
 

Не работает.
Ничего не поняла... что тут //... $sum ?

  Ответить  
 
 автор: 2342   (23.06.2009 в 17:21)
 
   для: Лена Смирнова   (23.06.2009 в 17:02)
 

$sum - сумма всех значений. //... - просто какой-то Ваш код, если он нужен.

Такой простой код не работать может, только если $query не является правильным указателем на результат запроса.

  Ответить  
 
 автор: Лена Смирнова   (23.06.2009 в 17:31)   письмо автору
 
   для: 2342   (23.06.2009 в 17:21)
 

$query = mysql_query("select ref, count(*) as num from stat_referer group by ref order by num desc LIMIT $limit, $max_lines_on_page;");

  Ответить  
 
 автор: Лена Смирнова   (23.06.2009 в 17:32)   письмо автору
 
   для: Лена Смирнова   (23.06.2009 в 17:31)
 

Средствами php это можно сделать, не затрагивая mysql?

  Ответить  
 
 автор: Eugene77   (23.06.2009 в 17:50)   письмо автору
 
   для: Лена Смирнова   (23.06.2009 в 17:31)
 

>$query = mysql_query("select ref, count(*) as num from stat_referer group by ref order by num desc LIMIT $limit, $max_lines_on_page;");
А что даёт
print_r( mysql_fetch_assoc($query ));

напишите вот так:
<?
for($sum=0;$field=mysql_fetch_assoc($query);$sum+=$field['num']) 

print_rfield);
}

  Ответить  
 
 автор: Лена Смирнова   (23.06.2009 в 17:56)   письмо автору
 
   для: Eugene77   (23.06.2009 в 17:50)
 

print_r( mysql_fetch_assoc($query ));
результат пустой

  Ответить  
 
 автор: Eugene77   (23.06.2009 в 17:58)   письмо автору
 
   для: Лена Смирнова   (23.06.2009 в 17:56)
 

значит дело не в РНР, а в вашем запросе

  Ответить  
 
 автор: Лена Смирнова   (23.06.2009 в 19:55)   письмо автору
 
   для: Eugene77   (23.06.2009 в 17:50)
 

Тоже пустой результат

  Ответить  
 
 автор: Лена Смирнова   (23.06.2009 в 19:55)   письмо автору
 
   для: Eugene77   (23.06.2009 в 17:50)
 

Тоже пустой результат

  Ответить  
 
 автор: 23423   (23.06.2009 в 21:11)
 
   для: Лена Смирнова   (23.06.2009 в 19:55)
 

сделайте
echo "select ref, count(*) as num from stat_referer group by ref order by num desc LIMIT $limit, $max_lines_on_page;";
скопируйте его и выполните в phpmyadmin

  Ответить  
 
 автор: Eugene77   (24.06.2009 в 13:27)   письмо автору
 
   для: Лена Смирнова   (23.06.2009 в 17:31)
 

>$query = mysql_query("select ref, count(*) as num from stat_referer group by ref order by num desc LIMIT $limit, $max_lines_on_page;");

Так если будете писать, то отлаживать устанете.
Пишите примерно так:
<?
$query 
"select ref, count(*) as num from stat_referer group by ref order by num desc LIMIT $limit$max_lines_on_page;";
$r mysql_query($query) or exit("<b>".mysql_error()."</b></br>$query</br> line=".__LINE__);

Сразу будете видеть полную информацию о своей ошибке

  Ответить  
 
 автор: Eugene77   (23.06.2009 в 17:48)   письмо автору
 
   для: 2342   (23.06.2009 в 17:21)
 

$query - это чаще всего текст запроса, а не ссылка на результирующий набор.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования