我有一张这样的表:id | item_name | price
我有一个循环显示底部总计的所有项目。
$total_price = 0;
foreach($items as $item)
{
echo $item->item_name;
echo $item->price;
$total_price += $item->price;
}
echo $total_price;
但是,我需要的是在循环浏览所有项目之前在页面顶部显示$total_price
。
最好是在页面顶部再次遍历foreach
来计算总价,还是应该进行单独的数据库调用,只返回总价?
答案 0 :(得分:3)
这是一个简单而快速的决定
$total_price = 0;
$print = '';
foreach($items as $item)
{
$print .= $item->item_name;
$print .= $item->price;
$total_price += $item->price;
}
echo $total_price;
echo $print;
如果你可以从SQL库中获得总和,那将是更好的解决方案。在MySQL中使用函数SUM()
示例:
SELECT SUM(price) AS total FROM ...
答案 1 :(得分:0)
这是你永远不应该混合PHP代码和直接输出的原因之一。我建议你研究一下php的模板引擎。
除非您正在编写php-cli,否则请在开始输出之前执行所有操作。这将大大增加代码的灵活性。
Smarty是我最喜欢的温和引擎之一,易于设置且功能强大,但这是我的观点。
答案 2 :(得分:0)
也许你需要像这样使用MySQL查询:
SELECT SUM(price) FROM your_table