Как получить рейтинг игрока оттуда в php и mysql

0

У меня есть следующий код. Я пытаюсь получить ранг скорости игры из mysql.

Mysql Table Called Accounts

 Username | Speed
 -----------------
 Player1     21
 Player2     52
 Player3     33   

 Player2 52(Ranked:1)
 Player3 33(Ranked:2)
 Player2 21(Ranked:3)

 $result = mysql_query("SELECT * FROM accounts") or die (mysql_error());
 while($row = mysql_fetch_array($result)) {
          $username= $row[username];
 $speed = $row['speed'];
  }

жаль, что я пытался разными способами, но я не могу заставить его работать

Теги:

3 ответа

2
Лучший ответ

Почему бы просто:

$result = mysql_query("SELECT * FROM accounts ORDER BY speed DESC") or die (mysql_error());

$rank = 1;
while($row = mysql_fetch_array($result)) {
    $username= $row[username];
    $speed = $row['speed'];
    $rank++;
}
1

Просто отсортируйте их по скорости:

$result = mysql_query("SELECT * FROM accounts ORDER BY speed DESC") or die (mysql_error());
$prev_rank = 0;
 while($row = mysql_fetch_array($result)) {
          $username= $row['username'];
          $speed = $row['speed'];
          $rank = ++$prev_rank;
  }

Читайте о ORDER BY.

1

Используйте его:

$result = mysql_query("SELECT * FROM accounts ORDER BY speed DESC") or die (mysql_error());

Ещё вопросы

Сообщество Overcoder
Наверх
Меню