我正在使用MySQL数据库记录我正在创建的游戏中的玩家高分.正在通过PHP文件“ highscores.php”访问MySQL数据库.
高分都记录在数据库中,但是我希望实际的排名号由PHP文件实现.我希望能够查询特定玩家的排名,而不仅仅是查询他/她的高分.
我正在使用它来获得玩家的最高分:
$username = $_GET["username"];
$checkID = mysql_query("SELECT * from Highscores WHERE Username =
'$username' ORDER BY Score DESC");
$row = mysql_fetch_array($checkID);
echo $row["Score"];
现在要获得我的玩家在所有其他玩家中的排名,我需要做的就是找到有问题的行的索引…但是我该怎么做?
提前致谢!
解决方法:
您可以像这样直接使用SQL进行操作:
SELECT @rownum:=@rownum+1 ‘rank’, h.*
FROM Highscores h, (SELECT @rownum:=0) r
ORDER BY score DESC;