У меня странная проблема. Когда я запускаю этот скрипт, я получаю 10 записей из базы данных, но все они одинаковы. Я понятия не имею, что я делаю неправильно или как это исправить. Пожалуйста, помогите мне.Как получить последние 10 записей из таблицы базы данных mysql?
У меня есть таблицы AMCMS_highscores, AMCMS_users, AMCMS_games Я хочу заглянуть в таблицу AMCMS_highscores, получить последние 10 записей, но только там, где полевые игры - это, например, 1997 год. Любая помощь приветствуется.
$data = query("SELECT `AMCMS_highscores`.`primkey` , `AMCMS_highscores`.`gameid` , `AMCMS_highscores`.`score` , `AMCMS_users`.`username` , `AMCMS_highscores`.`status` , `AMCMS_highscores`.`userkey` , `AMCMS_games`.`primkey` , `AMCMS_games`.`gamename` FROM `AMCMS_highscores` , `AMCMS_games` , `AMCMS_users` WHERE `AMCMS_highscores`.`gameid` = '$gameid' AND `AMCMS_highscores`.`userkey` != `AMCMS_users`.`userkey` AND `AMCMS_highscores`.`gameid` = `AMCMS_games`.`primkey` AND `AMCMS_highscores`.`status`= 'approved' ORDER by `AMCMS_highscores`.`primkey` DESC LIMIT 0, 10");
Print "<table border cellpadding=3>";
while($info = mysql_fetch_array($data)) {
Print "<tr>";
Print "<th>Score:</th> <td>".$info['score'] . "</td> ";
Print "<th>ID:</th> <td>".$info['userkey'] . " </td></tr>"; }
Print "</table>";
Вот отформатирован версия запроса:
SELECT
`AMCMS_highscores`.`primkey` , `AMCMS_highscores`.`gameid` ,
`AMCMS_highscores`.`score` , `AMCMS_users`.`username` ,
`AMCMS_highscores`.`status` , `AMCMS_highscores`.`userkey` ,
`AMCMS_games`.`primkey` , `AMCMS_games`.`gamename`
FROM `AMCMS_highscores` , `AMCMS_games` , `AMCMS_users`
WHERE `AMCMS_highscores`.`gameid` = '$gameid'
AND `AMCMS_highscores`.`userkey` != `AMCMS_users`.`userkey`
AND `AMCMS_highscores`.`gameid` = `AMCMS_games`.`primkey`
AND `AMCMS_highscores`.`status`= 'approved'
ORDER by `AMCMS_highscores`.`primkey` DESC
LIMIT 0, 10
OOPS, я не имею в виду, чтобы скопировать это, но я сделал случайно. Когда его с «=» знак (highscores.userkey = users.userkey) я получаю пустой запрос так, что техника его подводит исправить :(
Я надеюсь, что этот вопрос будет легче понять :)
SELECT highscores.primkey, highscores.gameid, highscores.score, users.username,
highscores.status, highscores.userkey, games.primkey, games.gamename
FROM AMCMS_highscores AS highscores, AMCMS_games as games, AMCMS_users as users
WHERE highscores.gameid = '$gameid' AND
highscores.status = 'approved'
ORDER by highscores.primkey DESC LIMIT 0, 10
Вот результат:
http://www.gamesorbiter.com/FB_app/play.php?gameid=1997 (под игрой)
Btw, как вы закодировать ваш запрос, если вы разместите его? Я нажал кнопку кода, и только первая строка кода закодирована.
Пожалуйста, отформатируйте запрос, чтобы сделать его доступным для чтения, чтобы мы могли вам помочь – Gopi