2015-06-05 50 views
1

我想弄清楚如何在下面的while循環中顯示用戶名列,並且還要計算每個用戶有多少點擊。php顯示COUNT的結果?我認爲

$query = "SELECT company, COUNT(company) FROM tableName GROUP BY company"; 
$result = mysql_query($query) or die(mysql_error()); 

// Print out result 
while($row = mysql_fetch_array($result)){ 
echo "There are ". $row['COUNT(company)'] ." 
". $row['company'] ." hits total so far"; 
echo "<br />"; 

} 

enter image description here

例如

There are 3 facebook hits total so far - user1(1 total), user2(1 total), user3(1 total) 
There are 2 google hits total - user1(2 total) 
There are 6 mircosoft hits total - user3(1 total) 
There are 0 dropbox hits total 

我明白任何幫助,您可以提供!

回答

2

你想要的基本數據來自:

SELECT company, userid, COUNT(*) 
FROM tableName 
GROUP BY company, userid; 

你想要的格式的近似值是:

SELECT company, GROUP_CONCAT(userid, '(', cnt, ' total)') 
FROM (SELECT company, userid, COUNT(*) as cnt 
     FROM tableName 
     GROUP BY company, userid 
    ) cu 
GROUP BY company; 

當然,這並不有一排「保管箱」。對於該功能,您需要一個與感興趣的公司的表,並且您需要LEFT JOIN它來查詢。

其他人可能會注意到,「mysql」已過時,您應該使用mysqli或PDO。

+0

謝謝你的回覆!我會看看這個! –