首页 > 解决方案 > 计算发票中项目的总价格

问题描述

这是我所拥有的:-

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'];

标签: phpsqlpdo

解决方案


要获得每家公司的总和,您需要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'];
}

推荐阅读