2011-11-27 86 views
2

這可能聽起來很蹩腳,但我總結了從mysql檢索到的值。 我想總結從mysql數據庫中檢索到的銷售發票項目總數。 以下是每行的子總數的罰款。php中的總和總數

while($row = mysql_fetch_array($qry)){ 
echo $row['b'] * $row['c']; 
} 

「b」爲數量和「c」是這些值是從MySQL檢索price.all和沒有行的是可變的,這一切都是在while循環的內部。 現在在while循環之外,最後一行,我想要總計。有人能指引我走向正確的方向嗎?我試過

echo SUM($row['b'] * $row['c']); 

但這不起作用,並給出錯誤。我相信我做錯了。

+0

你確定你的MySQL數據庫對行'b'和'c'使用整數值嗎?如果他們使用字符串值,他們將作爲字符串返回。這就是爲什麼它可能無法正常工作。 –

+2

不是'SUM' sql嗎? – abhinav

回答

5
$total = 0; 
while($row = mysql_fetch_array($qry)) 
{ 
    echo $row['b'] * $row['c']; 
    $total += ($row['b'] * $row['c']); 
} 

// at the end, $total = grand total 
+0

謝謝。它沒有給出錯誤,但結果是0.你能否告訴我。可能是scjosh是對的,它正在將價值看作是字符串。我該怎麼做才能糾正這個問題。謝謝:-) – mmdel

+1

這回答了這個問題,但是你不認爲讓DB做這個總和會快很多嗎?有PHP來挖掘大型結果集的IMO不是一個好主意。儘管工作代碼+1。 – Slava

+0

@slave你已經擁有了所有的結果,爲什麼會浪費另一個查詢來獲得總計? – ajreal

2

爲什麼不使用SQL來做SQL最好?

SELECT SUM(b*c) 
FROM table 

那樣簡單。