-1

我正在尝试获取玩过我的游戏的玩家的高分(前 10 名)列表。一切正常,除了一件事,列表不正确。前 10 个人是正确的,但是当我转到第 2 页时,列表并没有进一步完成。

第 1 页

第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";

有谁知道我做错了什么?

4

2 回答 2

1

If your Score field is varchar try: (or change it to 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";
于 2015-01-21T12:48:20.387 回答
0

我修复了它,我忘记将“分数”字段从 varchar 更改为 INT,所以它试图在字符串而不是 INT 上下降。

感谢 Imaginaerum 给我的提示 :)

于 2015-01-21T13:40:20.393 回答