Сумма значений в PHP - PullRequest
0 голосов
/ 02 марта 2012

мой код:

$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 ]

5 голосов
/ 02 марта 2012

Вы можете сделать это полностью в SQL с помощью этого запроса:

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

Будет возвращена ровно одна строка, и вы можете прочитать результат с помощью $row['thesum'].

0 голосов
/ 02 марта 2012

для индивидуального студента со студентом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
0 голосов
/ 02 марта 2012

Вы должны сделать это с помощью SQL, если вам нужна только сумма, нет необходимости передавать все данные клиенту.Так что ответ Джона имеет смысл для вас.

0 голосов
/ 02 марта 2012

вы можете сделать это двумя способами

$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']);

  }
0 голосов
/ 02 марта 2012

Использовать массив_сумму:

$sum = array_sum($aw)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...