2010-06-04 2 views
0

J'ai le code suivant que j'essaye d'obtenir le rang de vitesse de jeu de mysql.Comment obtenir le rang du joueur à partir de là stats en php et mysql

Mysql Tableau appelé Comptes

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']; 
    } 

désolé j'ai essayé différentes façons, mais je ne peux pas l'obtenir pour travailler

Répondre

2

Pourquoi ne pas simplement:

$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

les trier seulement par la vitesse:

$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; 
    } 

En savoir plus sur ORDER BY.

1

Utilisez:

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