我正在我的网站上工作(这是一种练习项目),我正在尝试在主页上创建一个显示论坛上帖子最多的用户的一行。论坛是一个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
我喜欢为自己搞清楚事情,我认为编码是一件有趣的事情,但这不属于我的联盟。我环顾四周,但我的虚弱心灵无法处理其他答案。除了谢谢你的帮助,我不确定还能说些什么!
答案 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'];