如何打印大多数帖子的用户的用户名

时间:2013-07-03 22:57:50

标签: php mysql phpmyadmin forum mybb

我正在我的网站上工作(这是一种练习项目),我正在尝试在主页上创建一个显示论坛上帖子最多的用户的一行。论坛是一个MyBB论坛,所以一切都很容易看。我有一般的想法,如何从SQL查询信息,甚至有几次获得帖子,但获得最多帖子用户名的人已经躲过我。这是我目前的代码:

<?php

mysql_connect("host", "username", "pass") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());
echo "Top User: ", SELECT username FROM `mybb_users` ORDER BY `mybb_users`.`postnum` DESC LIMIT 0, 30 ;
echo "Users Posts: ", SELECT MAX(postnum) FROM  `mybb_users` or die(mysql_error());

?>

现在,我一直在弄乱这个一个小时左右,我是一个菜鸟,所以我终于来到这里询问你们的帮助。我曾经在查询前面加上“mysql_query”前缀,但最后一次尝试将它们删除。我试图让它变得非常简单,看起来像这样:

  

热门用户:John Doe

     

帖子:2313

我喜欢为自己搞清楚事情,我认为编码是一件有趣的事情,但这不属于我的联盟。我环顾四周,但我的虚弱心灵无法处理其他答案。除了谢谢你的帮助,我不确定还能说些什么!

1 个答案:

答案 0 :(得分:1)

应该像

一样简单
 SELECT username, postnum FROM mybb_user ORDER BY postnum DESC LIMIT 1

SELECT username, count(username) as postCount FROM mybb_posts GROUP BY username ORDER BY postCount DESC limit 1

注意不要使用mysql *扩展至少使用mysqli,但最好是PDO我只是向你显示,因为你正在使用它

    $result = mysql_query('SELECT username, postnum FROM mybb_user ORDER BY postnum DESC LIMIT 1');
    $row = mysql_fetch_assoc($result)
    echo $row['username'] . $row['postnum'];