PHP中的值之和

时间:2012-03-02 09:24:08

标签: php mysql sum

我的代码:

$result2 = mysql_query("SELECT units,finalgrade FROM grades WHERE course='BSN' &&     semester='1-1' && studentnumber='$username'");
        while($row = mysql_fetch_array($result2))
  {

  $aw=array($row['units']*$row['finalgrade']);

  }

这个输出: 5.25,6,6.75,6,5.25,6.75,4.5

我怎样才能得到这些数字的总和?

5 个答案:

答案 0 :(得分:5)

您可以使用此查询在SQL中完全执行此操作:

SELECT SUM(units * finalgrade) AS thesum FROM grades WHERE ....

将返回一行,您可以使用$row['thesum']读取结果。

答案 1 :(得分:0)

你可以用两种方式做到这一点

$result2 = mysql_query("SELECT sum(units*finalgrade) as units FROM grades WHERE course='BSN' &&     semester='1-1' && studentnumber='$username'");
        while($row = mysql_fetch_array($result2))
  {

  $aw=array($row['units']);

  }

$result2 = mysql_query("SELECT units,finalgrade FROM grades WHERE course='BSN' &&     semester='1-1' && studentnumber='$username'");
        while($row = mysql_fetch_array($result2))
  {

  $aw +=array($row['units']*$row['finalgrade']);

  }

答案 2 :(得分:0)

你应该使用SQL来做,如果只需要求和,则不需要将所有数据都提供给客户端。 所以Jon的答案对你有意义。

答案 3 :(得分:0)

对于学生NO = 5的个别学生

SELECT studentNO, SUM(units * finalgrade) AS thesum 
FROM grades 
WHERE studentNO =5;

studenNO thesum
5          500

对所有学生

SELECT studenNO, SUM(units * finalgrade) AS thesum 
FROM grades
group by studentNO ;

studenNO thesum
5          500
6          510
7          480

答案 4 :(得分:-1)

使用array_sum:

$sum = array_sum($aw)