У меня есть следующий код. Я пытаюсь получить ранг скорости игры из 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'];
}
жаль, что я пытался разными способами, но я не могу заставить его работать
Почему бы просто:
$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++;
}
Просто отсортируйте их по скорости:
$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
.
Используйте его:
$result = mysql_query("SELECT * FROM accounts ORDER BY speed DESC") or die (mysql_error());