PHP Mysql While循环进行加法


PHP Mysql While loop for addition

我的数据库上有这个字段

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] ++;
}

是的,我知道它的格式不正确。我应该改变什么?我需要使用for还是foreach?以便添加这些计算?

tghanks

使用正确的(标准化的)数据结构,您可以做到:

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

如果你像Ignas在评论中所说的那样,将其存储为csv,您可以修复数据库结构,也可以使用php:

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

有什么相似之处吗?

$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;
}