2012-07-19 66 views
-3

我有我的數據庫PHP的MySQL雖然環路另外

email, addition這個領域,所以我想那是什麼WHERE email='$email'它的外觀,數據用戶有加法。現在添加現場我們有100,100,1000

我怎麼能計算這個與echo 1200

我的代碼注意這僅僅是一個示例腳本代碼我不能複製和粘貼在這裏我的代碼,因爲它很長。所以如果你發現錯字錯誤忽略它。

$sql = mysql_query("SELECT * FROM user WHERE email = '$email' ") or die(mysql_error()); 
while ($row = mysql_fetch_array($sql)){ 
    echo $row[addition] ++; 
} 

是的,我知道它的格式不正確。我應該改變什麼?我需要使用或foreach嗎?爲了添加這些計算?

tghanks

+3

你應該首先規範你的數據庫。在谷歌上查找它。 – Ignas 2012-07-19 10:15:56

+0

非常感謝你的時間。 :) – user1506189 2012-07-19 10:16:40

+0

沒有代碼沒有人幫助你因爲你做了什麼而不清楚他們想要幫助你 – Jalpesh 2012-07-19 10:17:05

回答

0

財產以後怎麼樣?

$sql = mysql_query("SELECT * FROM user WHERE email = '$email' ") or die(mysql_error()); 

while ($row = mysql_fetch_array($sql)) { 
    $iAdditionSum = 0; 
    $aAddition = explode(',', $row['addition']); 

    foreach($aAddition as (int) $iAddition) { 
    $iAdditionSum += $iAddition; 
    } 

    echo $iAdditionSum; 
} 
2

與正確的(標準化)的數據結構,你可以這樣做:

SELECT SUM(addition) AS total FROM users WHERE email = '$email' 

,如果你將其存儲在一列的CSV作爲Ignas在他commentes說, 則可以修復你的數據庫結構或使用PHP:

$sum = array_sum(explode(',', $row['addition'])); 
+0

如果每一列都是CSV格式的話,那麼這個問題會有用。 – Ignas 2012-07-19 10:23:35

+0

謝謝,我正在尋找非常簡單的答案,這麼多的知識並不浪費時間......謝謝先生。 – user1506189 2012-07-19 10:26:34

+0

array_sum()...很好,完全忽略了那個函數:) – CD001 2012-07-19 10:33:44