Sql et classement par points...

Bonjour, j'ai une table contenant des joueurs et leur points

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

  1. 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.';
    0
    1. 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
      0
      1. Peut-être que d'autre auront d'avantage d'idée.
        En tout cas, moi je vois pas...
        0