Bonjour.
Une chose qui me semblait facile à réaliser me donne beaucoup plus de files à retordre que prévu. J'ai trouvé des pistes sur Internet, mais il me manque un dernier coup de main, pour comprendre.
Explication :
Je veux simplement obtenir un classement en fonction du score de mes joueurs. Je veux interroger la BDD et lui demander "calcule moi la position du joueur X par mis tous les autres". Ex : TOTO est 487e...
Actuellement voilà mon code qui me convient parfaitement, seul le Classement manque.
PS : Je fais une jointure entre les deux tables pour avoir l'ensemble des infos.
PS 2 : J'ai trouvé ce code qui pourrait m'aider je pense, mais je n'arrive pas à le transposer à mon cas.
Merci du coup de main.
Modifié par Pattaya (06 Nov 2009 - 21:37)
Une chose qui me semblait facile à réaliser me donne beaucoup plus de files à retordre que prévu. J'ai trouvé des pistes sur Internet, mais il me manque un dernier coup de main, pour comprendre.
Explication :
Je veux simplement obtenir un classement en fonction du score de mes joueurs. Je veux interroger la BDD et lui demander "calcule moi la position du joueur X par mis tous les autres". Ex : TOTO est 487e...
Actuellement voilà mon code qui me convient parfaitement, seul le Classement manque.
$sql = "SELECT * FROM scores,users WHERE scores.id_user = users.id AND level_name='$global_level_name' ORDER BY score DESC LIMIT 5"
PS : Je fais une jointure entre les deux tables pour avoir l'ensemble des infos.
PS 2 : J'ai trouvé ce code qui pourrait m'aider je pense, mais je n'arrive pas à le transposer à mon cas.
Merci du coup de main.
mysql> SELECT a.name, -> (SELECT COUNT(DISTINCT b.score) FROM scores AS b WHERE b.score >= a.score) AS 'position' -> FROM scores AS a WHERE a.name = 'pouet' ORDER BY position ASC;
mysql> SELECT a.name,-> (SELECT COUNT(DISTINCT b.score) FROM scores AS b WHERE b.score >= a.score) AS 'position'-> FROM scores AS a WHERE a.score < 200 ORDER BY position ASC;
Modifié par Pattaya (06 Nov 2009 - 21:37)