简体   繁体   中英

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!

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'] .

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

您必须大写计数,因为它在sql Call中设置为COUNT。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM