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. arr1 - 04 Сентября, 2016 - 19:14:27 - перейти к сообщению
В таблице есть несколько записей (5, например). Задача такая: сложить значение всех столбцов одной записи, а затем суммировать полученные значения всех записей.

Пишу:
PHP:
скопировать код в буфер обмена
  1. $my_q = mysql_query(" SELECT * FROM inv WHERE refid = '$p_id' AND act = '1' ")or die(mysql_error());
  2. while ($m = mysql_fetch_array($my_q)) {
  3.   $mm_uron = $m['att'] + $m['def'] + ($m['hea'] * 2) + ($m['res'] * 2);
  4.   $m_uron += $mm_uron;
  5. }


В итоге получаю общую цифру $m_uron.
Проблема: алгоритм не читает первую запись в таблице. При любом количестве записей суммируются только столбцы начиная со второй записи.
2. Мелкий - 04 Сентября, 2016 - 20:24:04 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT sum(att + def + hea * 2 + res * 2) AS value FROM inv WHERE refid = '$p_id' AND act = '1'


По имеющемуся коду - дебажьте. Выведите данные в цикле. Функции mysql_* уже давно удалены из PHP, но у вас используется корректный вариант обхода результата для своих лет (лет 10-15 назад, то есть), строки пропускаться не должны.

 

Powered by ExBB FM 1.0 RC1