我正在尝试获得玩我的游戏的玩家的高分(前10名)列表。 除了一件事,一切都有效,列表不对。 前10个人是正确的,但是当我转到第2页时,列表没有进一步完成。
变量说明
$gamemode = "Endless"
$filter = "Score"
$startNum = Page1 = 0, Page2 = 10
$maxlimit = 10
查询:
$query = "SELECT ID, Gamemode, Name, Score, ContainersSaved, TimePlayed, Date, ScorePerMinute
FROM $dbName . `highscore`
WHERE Gamemode='$gamemode'
ORDER by `$filter` DESC
LIMIT $startNum, $maxlimit";
有谁知道我做错了什么?
答案 0 :(得分:1)
如果您的分数字段是varchar,请尝试:(或将其更改为INT)
$order=$filter;
if($filter=='Score') {
$order="ABS($filter);
}
$query = "SELECT ID,Gamemode,Name,Score,ContainersSaved,TimePlayed,Date,ScorePerMinute FROM $dbName . `highscore` WHERE Gamemode='$gamemode' ORDER by $order DESC LIMIT $startNum, $maxlimit";
答案 1 :(得分:0)
我修好了,我忘了改变分数'从varchar到INT的字段,所以它试图在字符串而不是INT上进行Descend。
感谢Imaginaerum给我的提示:)