2011-10-28 3 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 실제로 더 간단합니다. –

관련 문제