Получить сумму переменных в активных записях

Хорошо, у меня есть переменная с именем $total_bal это ответ простого уравнения из двух запросов, хранящихся в переменных x and y

например

$y = $row->amount_one;
$z = $row->amount_two;

$total_bal = $z + $y;

Однако у меня есть много записей в amount_one а также amount_two,

Так как я использую активные записи codeigniters

Я старался

echo $this->db->count_all($total_bal);

Но эта доза не работает, есть идеи, как лучше всего это сделать?

Так что я после способа добавить все $total_balвверх, для более подробного ознакомления с моим кодом см. ниже.

<?php
if (isset($records)) : foreach ($records as $row) :$x = $row->amount_two;
$y = $row->ammount_one;

$total_bal = $z + $y;
?>

<table>
<tbody>
<tr>
<td>amount one</td>
<td>amount two</td>
</tr>

<tr>
<td>
<?php echo $x;?>
</td>

<td>
<?php echo $y;?>
</td>
<td>
<?php echo $$total_bal;?>
</td>
</tr>

<!--        <tr>-->
<!--            <td>-->
<!--               --><?php //echo $this->db->count_all('$total_bal'); ?>
<!--            </td>-->
<!--        </tr>-->
</tbody>
</table>

<?php endforeach; ?>

<?php else : ?>
<h3>You Have No Accounts</h3>
<h4>Why No Add A Account?</h4>
<?php endif; ?>

0

Решение

Один из способов сделать это — использовать переменную-аккумулятор. Взять, к примеру, $grandTotal переменная. Вы установили его на 0 вне foreachна каждой итерации цикла вы добавляете $rowTotal к $grandTotal, В конце концов, когда цикл заканчивается, у вас есть общее значение всех итоговых строк.

Преимущество этого метода в том, что он не требует никаких дополнительных вызовов к базе данных, и поскольку вы уже просматриваете значения для их отображения, их накопление требует минимальной обработки.

<?php if (isset($records)) : ?>
<table>
<thead>
<tr>
<th>Amount One</th>
<th>Amount Two</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<?php $grandTotal = 0; ?>
<?php foreach ($records as $row) : ?>
<?php
// Add field values to get row total
$rowTotal = $row->amount_one + $row->amount_two;
?>
<?php
// Add row total to grand total
$grandTotal += $rowTotal;
?>
<tr>
<td>
<?php echo $row->amount_one;?>
</td>

<td>
<?php echo $row->amount_two;?>
</td>
<td>
<?php echo $rowTotal;?>
</td>
</tr>
<?php endforeach; ?>
<tr>
<td></td>
<td></td>
<td><?php $grandTotal; ?></td>
</tr>
</tbody>
</table>
<?php else : ?>
<h3>You Have No Account</h3>
<h4>Why Not Add An Account?</h4>
<?php endif;?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]