Sql et classement par points...
rudak
Messages postés
590
Date d'inscription
Statut
Membre
Dernière intervention
-
arthezius Messages postés 3756 Statut Membre -
arthezius Messages postés 3756 Statut Membre -
Bonjour, j'ai une table contenant des joueurs et leur points
je vais bientot etre amené a établir un classement des 10 premiers donc :
avec un $position++ a chaques retour j'affiche simplement la position de chacuns
1er
2eme
3eme
etc...
par contre si je veu connaitre le classement d'un joueur en particulier ? (dire que nicolas est 32eme)
je suis pas obligé de faire tourner mon classement jusqua ce quil trouve nicolas ? si ?
j'espere quil y a une autre methode sinon car celle si doit etre gourmande en ressources
donc merci de m'aider sur la marche a suivre svp
merci
je vais bientot etre amené a établir un classement des 10 premiers donc :
SELECT * FROM matable ORDER BY points DESC LIMIT 0,10
avec un $position++ a chaques retour j'affiche simplement la position de chacuns
1er
2eme
3eme
etc...
par contre si je veu connaitre le classement d'un joueur en particulier ? (dire que nicolas est 32eme)
je suis pas obligé de faire tourner mon classement jusqua ce quil trouve nicolas ? si ?
j'espere quil y a une autre methode sinon car celle si doit etre gourmande en ressources
donc merci de m'aider sur la marche a suivre svp
merci
2 réponses
-
Je vois pas beaucoup d'autre manière de le faire.
Dans cet exemple, le membre est identifié par sont id passé dans l'url.$count='0'; $sql='SELECT * FROM matable ORDER BY points DESC'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); while($data = mysql_fetch_array($req)) { $count++ if($data['id']==$_GET['membre']) { break; } } echo 'Vous êtes '.$count.'ème au classement.'; -
ok c'est ce que je pensait faire mais je me disait que c'etait une solution a la con et qu'il devait forcement y avoir une soltion plus conventionelle...
bon ok alors jvai voir ca comme ca :)
merci