0

我正在我的网站上工作(这是一个练习项目),我正在尝试在主页上创建一行,以显示论坛上帖子最多的用户。论坛是一个 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

我喜欢自己解决问题,我认为编码是一件有趣的事情,但这不符合我的要求。我环顾四周,但我虚弱的头脑无法处理其他答案。除了感谢您的帮助,我不知道还能说什么!

4

1 回答 1

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'];
于 2013-07-03T23:03:51.787 回答