我将我的SQL查询中的元素添加到关联数组并打印它们,如下所示;
foreach ($db->query($sql) as $row)
{
?>
<p>
<?php
//Print details of each row
echo "Sale Date: " . $row['saleDate'] . "<br />" .
"Sale Price: " . $row['salePrice'] . "<br />" .
"Buyers Email: " . $row['userEmail'] . "<br />";
?>
</p>
我希望能够获得与我的SQL查询匹配的元素的salePrice总和。 我知道我可以使用SQL sum命令来获取sql中我整个salePrice列的总和,但我只想查看与我的查询匹配的元素的总和。有一种简单的方法可以做到这一点吗?
感谢。
答案 0 :(得分:1)
$sum = 0;
foreach ($db->query($sql) as $row)
{
?>
<p>
<?php
$sum += floatval($row['salePrice']);
//Print details of each row
echo "Sale Date: " . $row['saleDate'] . "<br />" .
"Sale Price: " . $row['salePrice'] . "<br />" .
"Buyers Email: " . $row['userEmail'] . "<br />";
?>
</p>
使用此$ sum变量进行计算
答案 1 :(得分:1)
$summary = 0;
foreach ($db->query($sql) as $row) {
?>
<p>
<?php
//Print details of each row
echo "Sale Date: " . $row['saleDate'] . "<br />" .
"Sale Price: " . $row['salePrice'] . "<br />" .
"Buyers Email: " . $row['userEmail'] . "<br />";
$summary += $row['salePrice'];
?>
</p>
<?
}
echo 'Summary: '.$summary;
?>
答案 2 :(得分:1)
您只能在sql查询中添加该条件,并且仅在查询中获取sum(yourfield)。 或者如果你想列出所有$行并将所选价格加起来
$sum = 0;
foreach ($db->query($sql) as $row)
{
?>
<p>
<?php
if()// your condition here
{
$sum += floatval($row['salePrice']);
}
//Print details of each row
echo "Sale Date: " . $row['saleDate'] . "<br />" .
"Sale Price: " . $row['salePrice'] . "<br />" .
"Buyers Email: " . $row['userEmail'] . "<br />";
?>
</p>
答案 3 :(得分:1)
您也可以在mysql中完成此操作(甚至可能更快)。
假设这样的数据结构:
CREATE TABLE tbl_sales (
buyers_email VARCHAR(50), /* probably should make this foreign key of tbl_buyer */
sale_price DECIMAL(7,2),
sale_date TIMESTAMP
);
像这样的$ sql查询将执行:
SELECT SUM(sale_price) AS total_sale FROM tbl_sales;
然后在PHP中:
$query = $dbh -> exec ($sql);
$query -> setFetchMode(PDO::FETCH_ASSOC);
$results = $query -> fetchAll();
$total = $results[0]["total_sale"];
答案 4 :(得分:1)
我认为你应该使用正确的工具来做正确的工作..因为你打电话给MySQL
它已经有SUM
函数
SELECT SUM(salePrice) as total
这样可以更快地完成工作
答案 5 :(得分:0)
执行此操作的最简单方法是使用sql命令。
SELECT SUM(salePrice) as sum
然后调用sum将为您提供与您的关联数组匹配的元素的salePrice之和