假设我们有一个非常简单的 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/