Я пытаюсь получить список рекордов (топ-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";
Кто-нибудь знает, что я делаю не так?
Если ваше поле Score является 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";
Я исправил это, я забыл изменить поле ‘Score’ с varchar на INT, поэтому он пытался спускаться по строке вместо INT.
Благодаря чаевых Imaginaerum дал мне 🙂