计算数组中所有元素的问题

时间:2011-05-18 21:07:40

标签: php mysql arrays

$query = $db->query("SELECT * FROM orders");

while ($row = mysql_fetch_array($query)) {
    $cost= array_sum($row['cost']);
}

这不起作用,我想计算所有元素的总和,但是我得到了这个错误:

  

警告:array_sum()需要参数   1为数组,字符串给出   C:\ XAMPP \ htdocs中\法尔科\类\ Controller.php这样   在第303行

知道如何计算来自mysql的所有元素吗?

感谢您的时间和帮助。

5 个答案:

答案 0 :(得分:2)

为什么不让MYSQL处理呢?

$ query = $ db-> query(“SELECT orders。*,SUM(cost)as sum_cost FROM orders”);

答案 1 :(得分:2)

如果它只是你想要的总和,你可以让数据库为你做:

 Select sum(cost) from orders

答案 2 :(得分:1)

试试这个:

$query = $db->query("SELECT * FROM orders");
$cost = 0;
while ($row = mysql_fetch_array($query)) {
    $cost += $row['cost'];
}

或者来自mysql:

$query = $db->query("SELECT sum(`cost`) as `cost` FROM orders");
while ($row = mysql_fetch_array($query)) {
    $cost = $row['cost'];
}

答案 3 :(得分:1)

这应该有效:

$query = $db->query("SELECT * FROM orders");

$cost = 0;
while ($row = mysql_fetch_array($query)) {
    $cost += $row['cost'];
}

甚至更好

$query = $db->query("SELECT SUM(cost) FROM orders");
list($cost) = mysql_fetch_row($query);

答案 4 :(得分:1)

真的,听起来你只想要总和。

'SELECT SUM(cost) as sum_cost FROM ORDERS'