这是我的代码,我用它来计算"amountReceived“列的总和。invID '95‘的总数应为312,但由于某种原因,它仅为= 300。我不确定问题出在哪里。(请参阅下面的DB图像)。
$sql = mysql_query("SELECT amountReceived FROM payments WHERE invID='".$id."'");
$result = mysql_fetch_array($sql);
$totalPayment = array_sum($result);
$balanceDue = $invoiceTotal - $totalPayment;


发布于 2012-07-17 09:41:39
mysql_fetch_array($sql)返回一个数组,该数组包含您获取的某一行的所有“列”,这意味着您将获得一个例如数组(‘amountReceived’=>150)
这应该是可行的:
$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的版本;)
发布于 2012-07-17 09:36:24
使用SUM()怎么样?
$sql = mysql_query("SELECT SUM(amountReceived) FROM payments WHERE invID='".$id."'");
$totalPayment = mysql_fetch_row($sql);发布于 2012-07-17 09:37:19
mysql_*函数--使用MySQLi或https://stackoverflow.com/questions/11514881
复制相似问题