php - 如何对不同行中堆叠的值求和? PHP PDO MYSQL

标签 php mysql pdo sum fetch

假设我们有一个非常简单的 while 行查询脚本,例如:

<?php 
include('conection.php');

    $Verd = 'Verduras';
    $smt = $con->prepare("select * from prodcts WHERE Type = :Verduras Order by PrdName ASC");
    $smt->bindParam(':Verduras', $Verd, PDO::PARAM_STR);
    $smt->execute();
while ($smr = $smt->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) 
        {
        echo '<th>'.nl2br($smr['PrdName']).'</th><th>'.nl2br($smr['SellType']).'</th><th>$'.nl2br($smr['Cost']).'</th>';
        }
?>

问题:

我怎样才能将$smr['Cost']的结果与其余/一些的$smr['Cost']相加其他行?

任何评论、建议、改进问题的问题或任何类型的相关答案,希望帮助和改进问题或解决方案的结果等,我们将不胜感激

提前致谢!

PS:我之前检查过其他答案,但主要是面向 mysql 的,尽管如此,我想检查更面向 PHP 的解决方案,以便对其进行更多控制并尝试避免(如果可能)多个查询。

最佳答案

在启动 while 循环之前,创建一个变量。在 while 循环中,将变量增加您想要添加的值。 例如:

$total = 0;
while ($smr = $smt->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) 
{
echo '<th>'.nl2br($smr['PrdName']).'</th>
  <th>'.nl2br($smr['SellType']).'</th>
  <th>$'.nl2br($smr['Cost']).'</th>';
$total += $smr['Cost'];
}

最后,当您调用 $total 时,它将包含总和。

<?php echo $total ?>

希望对你有帮助

关于php - 如何对不同行中堆叠的值求和? PHP PDO MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28698337/

相关文章:

php - 转义 pdo 查询,有必要吗?

php - PDO 扩展用于 CRUD 查询和 fatal error

php - 在php中的数据库中设置 session

php - 托管和本地生产服务器之间的双向 mySQL 数据库同步

php - 在 php 中使用 mysql date_sub(now(),interval 1 day) 的替代方法?

mysql - 在sql中选择最高薪水

PHP PDO - 我无法更新变量

javascript - 如何用 PHP 打印 JavaScript

php - 查询为空错误|尝试获取特定的 Mysql 值

php - 如何在函数中使用无限参数(如 PHP isset())