Page 1 of 1

Problem with Sum

Posted: Mon Nov 05, 2007 4:13 am
by jak82
Hey there,

When I run this query

Code: Select all

$numofQuestions = count($assessmentNames);
$query = "SELECT  sum(`questionScore`) FROM `results` WHERE `sessionID`='".$_SESSION['sessionID']."'";
$result = $this->dbh->query($query);
$qscore = $result->fetch(PDO::FETCH_ASSOC);
print_r($qscore);
I get back

Code: Select all

Array ( [sum(`questionScore`)] => 300 )
How do I access the value, I tried echo $qscore[sum(`questionScore`)] ; but it does not like the sum function..

Any Ideas,

Chris

Posted: Mon Nov 05, 2007 4:16 am
by aaronhall

Code: Select all

SELECT  sum(`questionScore`) as score FROM `results`....
yields

Code: Select all

Array ( [score] => 300 )

Posted: Mon Nov 05, 2007 4:19 am
by onion2k
Moved to databases.

You could use "echo $qscore["sum(`questionScore`)"];" but that's nasty. It's better to give the column an alias. That means you assign it a name..

Code: Select all

SELECT  sum(`questionScore`) AS sum_questionScore FROM `results` WHERE `sessionID`='12345678901234567890123456789012'
Note the "as sum_questionScore" after the SUM. This means you can refer to the score sum using sum_questionScore. Obviously you could use whatever you like as a name so long as it's not one of MySQL's reserved words.

Then you can do "echo $qscore['sum_questionScore'];"

Thanks

Posted: Mon Nov 05, 2007 4:24 am
by jak82
Many Thanks Guys,

Works a treat :D