2011-10-28 53 views
0

我對PHP相當新,所以可能我的問題聽起來很簡單,但這是我的問題。評分板php循環

我在MySQL中擁有一個爲用戶持有記分牌的表格。

$connection = mysql_connect('localhost', 'root', ''); 
$select_db = mysql_select_db('score'); 
$sql = mysql_query("SELECT * FROM users ORDER BY >score"); 

function score_table() { 
    global $sql; 

    if ($sql) { 
     $rows_num = mysql_num_rows($sql); 
     while ($row = mysql_fetch_array($sql)) { 
      for ($i = 0; $i <= $rows_num; $i++) { 
       echo $i; 
      } 
      echo $i.$row['name']." ".$row['score']."<br />\n"; 
     } 
    } 
} 

結果即時得到的是:

123456Player1 3 
123456Player2 400 
123456Player3 784 
123456Player4 1500 
123456Player5 1642 

因此,有5名球員。雖然首先$ i有6個結果,並且每個玩家都會經歷整個循環。

我試圖實現這一目標是:

1Player1 3 
2Player2 400 
3Player3 784 
4Player4 1500 
5Player5 1642 

,其中第一個數字是根本立場。所以誰分數少就是第一位。

+1

您應該傳遞$ sql作爲函數參數,並以此方式調用它'score_table($ sql);' –

回答

1
$connection = mysql_connect('localhost' ,'root', ''); 
$select_db = mysql_select_db('score'); 
$sql = mysql_query("SELECT * FROM users ORDER BY >score"); 

function score_table() 
{ 
    global $sql; 
    $i=1; 

    if($sql) 
    { 
    while($row = mysql_fetch_array($sql)) 
    { 
     echo $i++ . $row['name'] . " " . $row['score'] . "<br />".PHP_EOL; 
    } 
    } 
} 
+0

這樣簡單;謝謝! – Dom

+0

@Dom其實更簡單。 –