首页 > 解决方案 > 获取结果集列中的数字总和

问题描述

我在下面有这段代码,它显示了一个数据库结果集。

<?php foreach ($_SESSION['merged_data'] as $data){ ?>
 <tr>
 <td><label><?php echo $data['sales_day']; ?></label></td>
<td><label><?php echo $data['sales_total']; ?></label></td>
<td><label><?php echo $data['sales_comm']; ?></label></td>

上面的代码工作正常。然后我尝试使用以下代码计算列 sales_comm 的所有值的总和

<div class = "col-sm-3"> <?php $comm_total += $data['sales_comm'];
echo $comm_total; ?>

问题是它不是返回 $sales_comm 的值的总和,而是返回最后一个值。

标签: php

解决方案


您必须在循环中进行添加,然后在循环完成后进行输出。如果要使用+=,还必须在循环之前将计数器初始化为零。

<?php 
$comm_total = 0;
foreach ($_SESSION['merged_data'] as $data){ 
    $comm_total += $data['sales_comm'];
?>
    <tr>
        <td><label><?php echo $data['sales_day']; ?></label></td>
        <td><label><?php echo $data['sales_total']; ?></label></td>
        <td><label><?php echo $data['sales_comm']; ?></label></td>
    </tr>

<?php
} // endforeach
?>
</table>
<div class="col-sm-3"> <?php echo $comm_total; ?> </div>

推荐阅读