スコアボード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']."
\n"; } } }

結果は次のとおりです。

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

だから5人の選手がいる。最初に$ iには6つの結果がありますが、それは各プレイヤーのループ全体を通過しています。

私が達成しようとしているのはこれです:

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

最初の数字は単に位置です。だから誰でもポイントが少ない方が最初です。

0
関数のパラメータとして$ sqlを渡して、 score_table($ sql); というように呼び出す必要があります。
追加された 著者 Your Common Sense,

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'] . "
".PHP_EOL; } } }
1
追加された
そのような単純な;ありがとうございました!
追加された 著者 Dom,
@Domは実際にはもっと簡単です。
追加された 著者 Your Common Sense,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com