21-08-2010, 10:27 AM
(Modification du message : 21-08-2010, 10:37 AM par php_addict.)
Bonjour
finalement mon soucis de classement n'est pas encore résolu et je désespère, je vais exposer mon problème plus clairement (que cela me serve de leçon pour les prochaines fois):
J'utilise PHP / MYSQL et le but du jeu est d'afficher un classement des joueurs sur plusieures pages HTML (car beaucoup de joueurs)
pour afficher toute la table triée, rien de plus simple:
finalement mon soucis de classement n'est pas encore résolu et je désespère, je vais exposer mon problème plus clairement (que cela me serve de leçon pour les prochaines fois):
J'utilise PHP / MYSQL et le but du jeu est d'afficher un classement des joueurs sur plusieures pages HTML (car beaucoup de joueurs)
pour afficher toute la table triée, rien de plus simple:
Code PHP :
<?php
SET @rank=0
SELECT @rank:=@rank+1 AS rank , pseudo , points FROM classement ORDER BY points DESC
mais comment afficher une portion de la table triée, à partir du joueur Bob par exemple ?
- il faudrait connaitre le rang de Bob préalablement. mais comment connaitre son rang sans sortir toutes les données de la table ? (ma table joueur j'espere peut atteindre entre 10.000 et 20.000 entrées)
- notons que plusieurs joueurs peuvent avoir le même score et le score peut être nul.
Pourriez vous me donner un coup de pouce s'il vous plait sur ce probleme qui peut vous paraitre anodin?
merci pour votre aide (PS: je suis développeur amateur)
bonne journée
PS1: je suis tombé sur http://forums.devshed.com/mysql-help-4/m...87657.html mais je ne sais pas si cela peut m'aider et les requêtes sont vraiment trop complexes pour moi
PS2: cette solution ci dessous ,pour trouver le rang de Bob ne fonctionne pas (car il y a des joueurs qui ont le même score):
Code PHP :
<?php
$result=$connexion_mmorpg->query("SELECT COUNT(joueur_id) FROM classement WHERE points >= ( SELECT points FROM classement WHERE id = $joueur_id ) order by joueur_id desc ");
$num_rows=$result->fetchColumn();