好的,我有一个名为$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 :(得分:1)
执行此操作的一种方法是使用累加器变量。例如,$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;?>