首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP数组求和不会将所有项目相加

问PHP数组求和不会将所有项目相加
EN

Stack Overflow用户
提问于 2012-07-17 09:30:32
回答 3查看 239关注 0票数 0

这是我的代码,我用它来计算"amountReceived“列的总和。invID '95‘的总数应为312,但由于某种原因,它仅为= 300。我不确定问题出在哪里。(请参阅下面的DB图像)。

代码语言:javascript
复制
$sql = mysql_query("SELECT amountReceived FROM payments WHERE invID='".$id."'");
$result = mysql_fetch_array($sql);
$totalPayment = array_sum($result);
$balanceDue = $invoiceTotal - $totalPayment;

​

​

​

​

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-17 09:41:39

mysql_fetch_array($sql)返回一个数组,该数组包含您获取的某一行的所有“列”,这意味着您将获得一个例如数组(‘amountReceived’=>150)

这应该是可行的:

代码语言:javascript
复制
$sql = mysql_query("SELECT amountReceived FROM payments WHERE invID='".$id."'");
$totalPayment = 0;
while($result = mysql_fetch_array($sql)) {
    $totalPayment += $result['amountReceived'];
}
$balanceDue = $invoiceTotal - $totalPayment;

这只是问题的php端描述,如果你想更高效,请使用sel的版本;)

票数 3
EN

Stack Overflow用户

发布于 2012-07-17 09:36:24

使用SUM()怎么样?

代码语言:javascript
复制
$sql = mysql_query("SELECT SUM(amountReceived) FROM payments WHERE invID='".$id."'");
$totalPayment = mysql_fetch_row($sql);
票数 7
EN

Stack Overflow用户

发布于 2012-07-17 09:37:19

  1. 不要使用mysql_*函数--使用MySQLi或
  2. 查看里面是否有什么东西。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11514881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档