MySQL SUM计算问题:如何获取表格Total列的合计总值
实现Total列合计总值的方案
核心逻辑
你只需要新增一个全局合计变量,在计算单条商品总价的同时做累加,最后输出累加结果即可,具体操作如下:
- 第一步:在遍历输出表格所有商品行的代码之前,初始化合计变量,初始值设为0:
<?php $grand_total = 0; ?>
- 第二步:修改你现有的单条商品总价计算代码,新增累加逻辑:
<td class="text-center"> <?php foreach ( $all_products as $product ) { if ( $stock['product_id'] == $product['id'] ) { $total = ($product['sale_price'] * $stock['quantity']); // 新增:把单条商品总价累加到合计变量 $grand_total += $total; echo formatcurrency($total); } } ?> </td>
- 第三步:在你需要展示合计的位置(通常是表格底部的合计行对应列),输出格式化后的合计总值:
<td class="text-center font-weight-bold"> <?php echo formatcurrency($grand_total); ?> </td>
注意事项
- 合计变量
$grand_total的初始化必须放在所有商品行的遍历逻辑之前,不能放在行循环内部,否则会被重复重置为0导致累加结果错误。 - 如果你的业务有优惠、税费等额外计算项,可以在累加完全部商品总价后,再统一对
$grand_total做对应增减处理。
内容的提问来源于stack exchange,提问作者AlexSilva
相关产品推荐
相关产品推荐

