user1260310
user1260310

Reputation: 2227

PHP/MYSQL echo totals counts from query

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

Answers (3)

Steven10172
Steven10172

Reputation: 2013

You must capitalize count as it's set as COUNT in the sql Call.

Upvotes: 1

mgraph
mgraph

Reputation: 15338

$sql = "SELECT pageid, COUNT(id) as tot_id FROM views 
GROUP BY pageid 
ORDER BY id"
...
echo $row['tot_id'];

Upvotes: 1

kba
kba

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

Related Questions