[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: подсчитать сумму значений переменной из цикла
ufaclub


$query_live ="SELECT * FROM billing WHERE pay_id=$pay_id";
$query = $query_live;

$res = mysql_query( $query );

echo '<table width="305" id="table" border="1" cellpadding="2" cellspacing="0">';

echo '<tr>
<th>
Дата</th>
<th>
Договор</th>
<th>
Сумма</th>
</tr>
';

while ( $item = mysql_fetch_array( $res ) )
{
echo '<tr>';
echo '<td>'.$item['data'].'</td>';
echo '<td>'.$item['doc'].'</td>';
echo '<td>'.$item['pay_summa'].'</td>';
echo '</tr>';
}

echo '</table>';


   echo '<div id="ostatoc">Остаток: 0 руб.</div>';


Есть код который выводит данные из таблицы

например в цикле выведет 5 записей с $item['pay_summa'] например

в 1 записи равной 10000
в 2 записи равной 20000
в 3 записи равной 4000
в 4 записи равной 5000
в 5 записи равной 6000

как мне создать переменную $total в которой будет сумма

$item['pay_summa'] (из 1 цикла) + $item['pay_summa'] (из 2 цикла) + $item['pay_summa'] (из 3 цикла) + $item['pay_summa'] (из 4 цикла) + $item['pay_summa'] (из 5 цикла)

$total = 44000
volter9
ufaclub
А как насчет того что бы создать переменную вне цикла $total и при каждой итерации добавлять к переменной $total значение $item['pay_summa']?
А дальше:
<div id="ostatoc">Остаток: <?php echo $total ?> руб.</div>


_____________
Мой блог
Valick
$query_live ="SELECT *, SUM(`pay_summa`) total FROM billing WHERE pay_id=$pay_id";


_____________
Стимулятор ~yoomoney - 41001303250491
FatCat
Valick
Зачем новый запрос, если в цикле вся необходимая информация уже есть?

_____________
Бесплатному сыру в дырки не заглядывают...
Valick
FatCat, это не новый запрос, это видоизменённый старый запрос, как вариант.


_____________
Стимулятор ~yoomoney - 41001303250491
FatCat
Да, точно, невнимательно посмотрел, что в запросе еще и звездочка есть.

_____________
Бесплатному сыру в дырки не заглядывают...
Zzepish
Видимо- всем уже надоело указаывать на чужой говнокод?
Так вот- имхо: код написан хуже поповского
volter9
Valick
А так можно что ли?:
SELECT *, SUM(pay_summa) ...


Я думал функцию агрегаты и выборку невозможно смешивать. Вроде бы выдаст только первый результат + сумму колонки pay_summa.

_____________
Мой блог
Valick
Цитата (volter9 @ 5.02.2015 - 18:13)
Вроде бы выдаст только первый результат

если будет GROUP BY то выдаст, но не факт что первый, а так должен выдать то что нужно, просто в каждой строке тотал будет одно и то же

_____________
Стимулятор ~yoomoney - 41001303250491
volter9
Valick
Без GROUP BY тоже только одну строчку выводит.
user posted image

_____________
Мой блог
Valick
volter9, да вы правы. Косячёкс случился.



_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.