2014-02-20 35 views
0

我有一個數據庫表,標有earnings的列。此表中有多個用戶擁有不同的收入。我想展示收入最高的前十名人物。PHP的mysql排序最大至最少

這是我目前擁有的代碼:

$result = mysql_query("SELECT * FROM `users` ORDER BY `earnings` DESC") or die(mysql_error()); 

我怎樣才能讓這個例如,如果我寫$result['earnings'][3]它會給我的用戶與第四高的收益。或者如果我寫$result['user'][3]它會給我第四個最高收入的人的用戶名?

+0

'$結果= mysql_query( 「SELECT * FROM用戶的ORDER BY DESC收益0.10上限」)' –

+0

什麼是您當前的問題碼? – Mureinik

+1

'$ result'是查詢結果,而不是數組。您需要先將結果加載到數組中,然後才能對其執行任何操作。另外,'mysql _ *()'是十年前不支持的函數。停止使用它們! – miken32

回答

1

我想顯示十大人物最盈利

然後在你的查詢LIMIT 10補充:

$query = mysql_query("SELECT * FROM `users` ORDER BY `earnings` DESC LIMIT 10") or die (mysql_error()); 

而且也不要忘記mysql_*已過時,將被刪除在將來。改爲使用mysqli_*

如果你想獲取,然後使用while週期:

while($result = mysql_fetch_array($query)) 
{ 
    echo $result['username']; // write username, etc... 
} 
+0

然而,謝謝你,我該如何瞄準例如收入最高,次高等的用戶呢? – user3320550

+0

通過使用LIMIT。如果你想要秒,你將使用LIMIT 1,1。其中第一個1表示從1開始,而不是0(0.是第一個,第二個,第二個,第三個等等),第二個1表示要顯示多少個結果。 –