2013-10-30 43 views
-2

我想知道如何使用獲得誰是寫給我的第一個球員的排名:PHP:從mysql命令獲取排名

$res = $con->query("SELECT * FROM hiscores ORDER BY `0` DESC LIMIT 50"); 

我有我的我的網頁上的球員通過自己的價值觀組織名單在第0列中。我如何根據ORDER BY得到玩家的等級?

+0

計數採取元素的索引,並增加它的播放器上方的所有行應該是足夠? – puelo

+0

對不起,我刪除了我的答案,因爲我給出了錯誤的答案。您的查詢是好的,或者至少看起來不錯,這是真正的問題嗎?我雖然這是得到的原因-1 – Carlos

+2

你真的有一個名爲'0'的列嗎?你能不能拿出更具表現力的名字? –

回答

0

你應該ORDER BY score DESC

然後是這樣的:

foreach ($res as $player) { 
    echo "Rank #" 
     . (intval(key($player)) + 1) 
     . " for player " 
     . $player['playerName'] 
     . "<br>" . PHP_EOL; 
} 

的邏輯是由一個

$player[0] = 1 
$player[1] = 2 
... 
+0

我得到了排名工作,因此它顯示了他們按照他們的XP排序的排名。但我如何在程序中稍後獲取該等級? – Nic

+0

'\t $ rank = 0; \t $ temp_score = 0; if($ temp_score!= $ row ['0']) $ rank ++;'$ rank – Nic

+0

不使用'if'沒有括號:-S 如果您需要獲取準確的等級的人,你應該每隔幾分鐘運行一次cronjob,通過上面的腳本幫助更新表中的列「rank」。 – DanFromGermany