php - 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>
解决方案
您可以添加一个变量来计算总计。试试下面的代码
<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,请根据您的数据库使用正确的列/表名称。
推荐阅读
- c# - 为什么 Filestream 不使用我在 ASP.NET Core 中指定的目录?
- reactjs - React-Router:如何添加新组件并路由到向导的入职步骤?
- javascript - 如何分离和显示选择选项数据?
- python - 如何在 Mac 上将 .ui 转换为 .py
- c++ - C++(E0158 表达式必须是左值或函数指示符)和(错误 C2102 '&' 需要左值)
- symfony - 通过 Docker 执行 Symfony Demo 应用程序时权限被拒绝
- angular - Workbox:当文件在缓存中时获取事件
- java - 使用 Streams 将列表对象复制到另一个具有修改内容的列表对象
- opencv - 使用 OpenCV 复制 Gimp 的颜色->反转操作
- python - 一次读取和打印一个字符 - Python 中的 getche() 和退格键