php - 计算发票中项目的总价格
问题描述
这是我所拥有的:-
accountid | productname | qty | price | companyexported |
8 | name | 5 | 50 | company1 |
8 | name2 | 5 | 60 | company1 |
8 | name3 | 10 | 10 | company2 |
这是篮子表,我正在按 companyexported (Bill) 对每个项目进行排序,所以我想计算账单的总成本(包含相同公司名称的所有相同值 (companyexported) 行的总和(价格)当然,按我尝试过的 accountid 订购:- 代码:-
$price = $PDOCon->prepare("SELECT SUM(price) AS totalprice FROM basket WHERE accountid ='$accountid' order by companyexported");
$price->execute();
$row = $price->fetch(PDO::FETCH_ASSOC);
echo $row['totalprice'];
解决方案
要获得每家公司的总和,您需要GROUP BY companyexported
,而不是ORDER BY
。请注意,只要您正在准备语句,就应该使用占位符作为参数:
$price = $PDOCon->prepare("SELECT SUM(price) AS totalprice
FROM basket
WHERE accountid = :accountid
GROUP BY companyexported");
$price->bindParam(':accountid', $accountid);
$price->execute();
此外,由于您将获得多个结果(每个公司一个),因此您的 fetch 应该在一个循环中:
while ($row = $price->fetch(PDO::FETCH_ASSOC)) {
echo $row['totalprice'];
}
推荐阅读
- robotframework - 机器人框架省略号连接添加逗号
- javascript - 使用键从集合动态创建树对象
- excel - 从 Power Pivot 修改数据连接时出现 VBA 错误“1004”
- spring - 柑橘/黄瓜 MessageTracingTestListener 不起作用
- unity3d - 更改 RectTransform 的枢轴和锚点预设时如何保持游戏对象位置
- objective-c - AFNetworking ElfSundae UIWebView-Patch
- c++ - QuadTree的中序遍历
- jquery - jquery datepicker 排除除周二和周五以外的所有日期,并同时排除选定日期
- javascript - 如何优化 jQuery tag:contains() 选择器?
- python - 如何在 for 循环中强制执行多个 QComboBox 中的任何一个的最小索引?