Задать вопрос

Как в php получить сумму значений массива?

В общем есть таблица:

echo "<center><table style='border-collapse :collapse; border-spacing :0;' border=1>\n";
echo " <tr><td width ='20'>№</td><td width='50'>Дата</td><td width='200'>Оборудование</td>
<td width='150'>Проделанная работа</td> <td width='80'>Сумма</td></tr>\n";
$i = 0; $tehas = mysql_query("SELECT id,model FROM tech  WHERE user='$myrow[id]'"); // вся техника пользователя
if ($techus = mysql_fetch_array($tehas)) {
    do {
        $tech_id = $techus['id'];
        $tech_model = $techus['model'];
        $prodelprint = mysql_query("SELECT *, DATE_FORMAT(data,'%d.%m.%Y') As data FROM remont_tech  WHERE status='nomoney' AND tech_id=$tech_id  ORDER BY data");

           if ($prints = mysql_fetch_array($prodelprint)) {

            $techs_id = $prints['tech_id'];
            $techs = mysql_query("SELECT * FROM tech  WHERE id='$techs_id'");
            $tech = mysql_fetch_array($techs);
            $techid = $tech['id'];
            do {
                $i++;

                echo "<tr><td>$i</td><td>$prints[data]</td><td>$tech[marka] $tech[model]($tech[serial])</td><td>$prints[work_id]</td><td>$prints[sum] Руб.</td><tr>";
            } while ($prints = mysql_fetch_array($prodelprint));
        }
    } while ($techus = mysql_fetch_array($tehas));
}

echo"<tr><td COLSPAN=1><b>ИТОГО</b></td><td></td><td></td><td></td><td><b>$totalPrice Руб.</b></td></tr>";
echo "</table></center>\n";


Показывает акт сверки неоплаченных работ.
Вся проблема с $totalPrice (Итого). Не знаю как её найти. Не понимаю какой запрос надо сделать.
Надо сложить все значения массива $prints[sum]. А как это сделать?
  • Вопрос задан
  • 3624 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Lomoson
@Lomoson
в if'e $totalPrice = 0;
после вывода $prints[sum] напишите $totalPrice+=$prints[sum];
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@boodda
Помоему ваш код можно существенно сократить

echo "<center><table style='border-collapse :collapse; border-spacing :0;' border=1>\n";
echo " <tr><td width ='20'>№</td><td width='50'>Дата</td><td width='200'>Оборудование</td><td width='150'>Проделанная работа</td> <td width='80'>Сумма</td></tr>\n";
$tehas = mysql_query("SELECT *, DATE_FORMAT(data,'%d.%m.%Y') As data FROM remont_tech WHERE status = 'nomoney' WHERE user = '".intval($myrow['id'])."' ORDER BY data");
$i = 0;
$totalPrice = 0;
foreach($tehas as $tech){
    echo "<tr><td>".$i++."</td><td>".$tech['data']."</td><td>".$tech['marka'].' '.$tech['model'].'('.$tech['serial'].')</td><td>'.$tech['work_id'].'</td><td>'.$tech['sum'].' Руб.</td><tr>';
    $totalPrice += $tech['sum'];
}

echo"<tr><td COLSPAN=1><b>ИТОГО</b></td><td></td><td></td><td></td><td><b>".$totalPrice." Руб.</b></td></tr>";
echo "</table></center>\n";
Ответ написан
egor_nullptr
@egor_nullptr
$totalPrice = array_sum(array_column($tehus, 'sum'));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы