【问题标题】:Add together MySQL values forum column加在一起 ​​MySQL 价值观论坛专栏
【发布时间】:2013-03-16 19:57:15
【问题描述】:

我想知道如何添加(使用 PHP Math)从 MySQL 查询返回的所有值。

$query = mysql_query("SELECT * FROM phpvms_pireps WHERE pilotid='$pilotcode'")or die(mysql_error());

然后对于它返回的每个结果,我希望它将距离列中的所有值加在一起;这些已经是数字格式了。

在 PHP 中将它们相加后,输出总数。

谢谢。

【问题讨论】:

  • 为什么不直接使用select sum(phpvms_pireps) as total
  • 哇,好久没看到 PHPVMS 了。你开始一个VA,OP?你碰巧在 FSW 上吗?

标签: php mysql math add


【解决方案1】:

你可以在 MySQL 中做到这一点:

SELECT SUM(distance) FROM phpvms_pireps

当然,如果您还想选择其他值,这将不起作用。在这种情况下,您可以在 fetch 循环中执行此操作:

$distance = 0;
while ($row = mysql_fetch_assoc($query) {
    $distance += $row['distance'];
    /* more processing? */
}
echo $distance;

您的代码是对注入的查询,并且您正在使用已弃用的 mysql 扩展。使用 PDO 或 mysqli 切换到正确参数化的查询。

【讨论】:

  • 我认为使用$distances[] = $row['distance']; 然后$distance = array_sum($distances) 更好。
  • @Akam 你认为循环中的数组赋值加上一个额外的函数调用比简单的加法“更好”吗?怎么样?
【解决方案2】:
$total = 0;
while ($output = mysql_fetch_assoc($query)) {
  $total += $output['distance'];
}

echo $total;

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    相关资源
    最近更新 更多