Bonjour
cela fait un moment déjà que je parcours le forum mais c'est la première fois que j'ai l'occasion d'y demander une aide gracieuse
J'utilise PHP / MYSQL et le but du jeu est d'afficher un classement des joueurs sur plusieurs pages HTML (car beaucoup de joueurs)
pour afficher toute la table triée, rien de plus simple:
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
-------------------------
Le tableau PhpMyAdmin:
L'export de la table:
DROP TABLE IF EXISTS `classement`;
CREATE TABLE IF NOT EXISTS `classement` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`joueur_id` int(11) NOT NULL,
`pseudo` varchar(20) COLLATE utf8_bin NOT NULL,
`points` int(11) NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=18 ;
INSERT INTO `classement` (`id`, `joueur_id`, `pseudo`, `points`) VALUES
(1, 12, 'Bob', 52),
(2, 5, 'Arthur', 6),
(3, 98, 'Sam', 6),
(4, 10, 'Bertrand', 33),
(5, 8, 'Bernadette', 1),
(6, 98, 'Jean', 3),
(7, 654, 'Bill', 0),
(8, 2, 'Gertrude', 987),
(9, 1, 'Léontine', 789),
(10, 3, 'Thérese', 456),
(11, 7, 'Bernadette', 456),
(12, 9, 'Jeannine', 0),
(13, 8, 'Maman', 7827),
(14, 78, 'Tata', 4534),
(15, 87, 'Ambroise', 453),
(16, 45, 'Devellopez', 535),
(17, 65, 'Moi', 1237);
Partager