이상한 문제가 있습니다. 이 스크립트를 실행할 때 데이터베이스에서 10 개의 레코드를 얻지 만 모두 똑같습니다. 나는 내가 뭘 잘못하고 있는지, 어떻게 고쳐야하는지 전혀 모른다. 도와주세요.mysql 데이터베이스 테이블에서 마지막 10 개 레코드를 어떻게 검색합니까?
테이블이 있습니다. AMCMS_highscores, AMCMS_users, AMCMS_games AMCMS_highscores 테이블을보고 싶습니다. 마지막 10 개 레코드 만 가져오고 예를 들어 gameID 필드는 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, 나는 그것을 복사하는 것을 의미 didnt는하지만 난 사고로했다. 내가 빈 쿼리를 얻을 때 자신을 "="기호 (highscores.userkey = users.userkey)와 그 didnt가 그것을 고칠 수 있도록 :(
을 나는이 쿼리는 이해하기 :
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