Php 输出玩家排名的排名数?
我正在对具有用户的Php 输出玩家排名的排名数?,php,mysql,mysqli,Php,Mysql,Mysqli,我正在对具有用户的id和highscore的表进行排序。这是按降序排列的,我传入当前用户的id以查找他的排名 select * from ( select * from players order by highscore desc limit 10 ) t where id = $current_user 即:我传入当前用户的ID,并希望echo他排名的位置 select * from ( select * from players order by highsc
id
和highscore
的表进行排序。这是按降序排列的,我传入当前用户的id以查找他的排名
select *
from (
select *
from players
order by highscore desc
limit 10
) t
where id = $current_user
即:我传入当前用户的ID,并希望echo
他排名的位置
select *
from (
select *
from players
order by highscore desc
limit 10
) t
where id = $current_user
我已经试过了,但是在PHP中没有得到数据输出
$result = $mysqli->query("SELECT COUNT(*) AS rank FROM players WHERE highscore >= (SELECT highscore FROM players WHERE id=$current_user)");
我必须对上面的内容进行哪些修改才能获得用户的排名,然后
echo
以PHP列出他的排名数字?谢谢 从数据库查询数据后,需要将数据放入数组中。试着这样使用:
$result = $mysqli->query("SELECT COUNT(*) AS rank FROM players WHERE highscore >= (SELECT highscore FROM players WHERE id=$current_user)");
// Put the data from the query into an array
$row = $result->fetch_assoc();
// Store the rank in a variable named $rank
$rank = $row['rank'];
echo $rank;
您的查询有什么问题?看起来是正确的。我似乎无法从第二次查询中获得用户排名的数据,因为第二次查询返回了什么数据?有错误吗?我做了一个
echo$mysqli->错误代码>但未返回任何内容。我想知道的是,如果我在phpmyadmin中运行查询,我会得到带有秩号的表格“rank”。我现在如何在PHP中实现这一点?