2013-04-25 111 views
0

我有一個名爲pvpstats的表。它有4列;身份證,姓名,殺人和死亡。我必須從「殺死」中獲得3個最高值,並將它們從最高到最低排序,並且也包括名稱。像三頂數據一樣!而且因爲我是新與MySQL我需要一步一步quide ...如何從表中獲得3個最高值並將其打印出來?

這是我.PHP怎麼看的那一刻:

<?php 

$server = "localhost"; 
$dbuser = "usernm"; 
$dbpass = "passwd"; 
$dbname = "pvpstats"; 

mysql_connect($server, $dbuser, $dbpass); 
mysql_select_db($dbname); 

$result = mysql_query("SELECT kills FROM pvpstats ORDER BY kills DESC LIMIT 3"); 
$row = mysql_fetch_assoc($result); 
echo print_r($row,true); 

?> 

連接正常,並且它顯示了最高的價值,但沒有名字。而且,只有最高時,它應該顯示3最高

+1

什麼工作?不工作?你有什麼具體問題? – brbcoding 2013-04-25 17:34:12

+0

連接正在工作,並顯示最高值,但沒有名稱。並且只有當它應該顯示3最高時纔是最高的.. – user2320856 2013-04-26 07:21:01

回答

1

$row = mysql_fetch_assoc($result);將只能隨聲附和1個

用戶while循環呼應的所有數據。

1

好一個,你應該使用:

print_r($row); 

不是:

echo print_r($row,true); 

* print_r的*將自動輸出它,如果你省略變量,因爲傳遞的響應爲回聲只是多餘的。

而且,由於你的查詢將返回三人行,你通過它必須循環:

while ($row = mysql_fetch_assoc($result)) { 
    print_r($row); 
    // or if you just want to output the number, use: 
    // echo $row["kills"]; 
} 
-1

看來,你的查詢語法沒有任何問題。使用下面的代碼來查找問題。

mysql_connect($server, $dbuser, $dbpass) or die(mysql_error()); 

...

$row = mysql_fetch_assoc($result) or die(mysql_error()); 
相關問題