2013-03-04 108 views
0

我需要获得发送消息数的用户。无法通过while循环在sql中获取计数值?

$userlist = mysql_query("select count(distinct m.subject) as msgcnt, u.name from message as m, message_users as mu, users as u where m.owner_id = u.id and m.id=mu.msg_id and mu.user_id='$u_id'group by name") or mysql_error(); 
     while($row=mysql_fetch_array($userlist)) 
     {    
      echo $row['name']."<br />"; 
     } 

如何通过while循环利用得到的计数值..

+0

$用户列表=请求mysql_query(“SELECT COUNT(DISTINCT m.subject)作为msgcnt,u.name从消息为m,message_users为μ,用户为u,其中m.owner_id = u.id和m.id = mu.msg_id和mu.user_id ='$ u_id'group by name“)或mysql_error(); 查询问题可能会给空间mu.user_id ='$ _ id'组 – 2013-03-04 06:34:41

回答

3

你已经是存储别名msgcnt所述计,简单地echo它。

while($row=mysql_fetch_assoc($userlist)) 
     {    
      echo $row['name']." : ".$row['msgcnt']."<br />"; 
     } 
+0

+1为正确的答案和凉爽的T恤 – silly 2013-03-04 06:36:43

+0

大声笑,感谢您的评论:) – 2013-03-04 06:38:11

1
echo $row['msgcnt'].'<br/>'; 
0

使用mysql_fetch_assoc得到关联数组!

$userlist = mysql_query("select count(distinct m.subject) as msgcnt, u.name from message as m, message_users as mu, users as u where m.owner_id = u.id and m.id=mu.msg_id and mu.user_id='$u_id'group by name") or mysql_error(); 
while($row=mysql_fetch_assoc($userlist)) {    
     echo $row['name']."<br />";   
     echo $row['msgcnt']."<br />"; 
    } 
0

使用msgcnt时指定别名作为msgcnt

echo $row['msgcnt']."<br />";