2012-07-19 63 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