Reputation: 2227
I have run a query using COUNT(id) as a way to sum up the number of rows with a given id. I now want to print that number. Since there are many ids, I need to print it many times. I think each pageid/count(id) is its own row of the table but maybe I am wrong. Here is the gist of the code (apologies for using mysql_query):
$sql = "SELECT pageid, COUNT(id) FROM views
GROUP BY pageid
ORDER BY COUNT(id)"
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)) {
echo $row['pageid'];
echo $row['count(id)'];
}
except the last line is not working.
Thanks for help!
Upvotes: 0
Views: 3406
Reputation: 2013
You must capitalize count as it's set as COUNT in the sql Call.
Upvotes: 1
Reputation: 15338
$sql = "SELECT pageid, COUNT(id) as tot_id FROM views
GROUP BY pageid
ORDER BY id"
...
echo $row['tot_id'];
Upvotes: 1
Reputation: 19466
Array indexes are case-sensitive. Since you're selecting COUNT(id)
, you should use $row['COUNT(id)']
and not $row['count(id)']
.
Alternatively, you can give the count an alias.
$sql = "SELECT pageid, COUNT(id) pagecount FROM views
GROUP BY pageid
ORDER BY COUNT(id)"
With the above, you could use $row['pagecount']
.
Upvotes: 3