首页 > 解决方案 > MySQL SUM 计算

问题描述

嗨,我在获得我需要的结果时遇到了一些麻烦。我有下表,我只想能够获得 Total 列的总计。这里有一些解释。对于“总计”列,我使用下面的代码。在这种情况下如何获得总计? 在此处输入图像描述

<td class="text-center">
                    <?php
                    foreach ( $all_products as $product ) {
                        
                        if ( $stock['product_id'] == $product['id'] ) { $total = ($product['sale_price'] * $stock['quantity']); 
                        echo formatcurrency($total);}
                    }
                    ?>
                </td>

标签: phpsum

解决方案


您可以添加一个变量来计算总计。试试下面的代码

    <td class="text-center">
        <?php
            $gtot   = 0;
            foreach ( $all_products as $product ) {
            
                    if ( $stock['product_id'] == $product['id'] ) { 
                        $total = ($product['sale_price'] * $stock['quantity']); 
                        echo formatcurrency($total);
                        $gtot = $gtot + $total;
                    }
            }
            echo 'Grand Total = '.$gtot;
        ?>
    </td>

在这里,我使用了 $gtot,在您想要的任何地方使用它,我使用了您的代码,假设 $total 按预期工作。如果你想直接从数据库中获取总和,那么可以使用 mysql 的 SUM() 方法。

SELECT SUM(`product`.`sale_price`*`stock`.`quantity`) 
FROM `product` INNER JOIN `stock` ON
`product`.`product_id`=`stock`.`product_id`

使用上面的 sql,请根据您的数据库使用正确的列/表名称。


推荐阅读