20-08-2010, 02:36 PM
20-08-2010, 02:40 PM
(20-08-2010, 02:36 PM)Foxglove a écrit :(20-08-2010, 02:28 PM)php_addict a écrit : j'ai mis tout les scores à zero pour pousser + avant l'etude de cas... et la fonction getRankingById() me renvois 1 pas mieux ^^
20-08-2010, 02:52 PM
20-08-2010, 03:05 PM
Et si tu envoyais un export sql de la table avec quelques données pour que les gens gagne du temps en testant ?
20-08-2010, 03:07 PM
bah je vois pas le problème en fait, il me manque une information... quels sont les classements des perso à 0 et quels seraient les "bons classements d'après moi
typiquement par rapport à ton image, je m'attends à ce que les personnages 4 6 7 8 9 ... aient tous le même rang (à savoir 5) et qu'ils soient précédés dans l'ordre de 3 1 5 2 et toi tu obtiens et veux quoi ?
20-08-2010, 03:08 PM
(20-08-2010, 02:52 PM)php_addict a écrit : oui ok, mais si il y a plusieurs scores à ZERO le probleme reste le meme... En fait, je n'ai dû pas bien comprendre ton exemple. Pourrais-tu donner : - le score de chaque joueur, - le classement que tu obtiens. Dans la table précédente que tu avais donnée, je voyais le score de chaque joueur mais pas leur classement. Pas forcément besoin de code PHP pour le moment, juste l'entrée et la sortie.
20-08-2010, 03:12 PM
ok, merci
je vais vous faire un topo avec de jolies images sur un autre topic, car là je m'enfonce...
20-08-2010, 03:32 PM
Probleme des "bons classement" le mieux c'est de faire un truc du genre :
var 1 = total de tous les points classement/nbr de joueurs var 2 = moitié des points classement classé dans l'ordre décroissant/nbr joueurs/2 ratio = var2/var1 good? = point classement du joueur*ratio si Good? > var 2 alors c'est un bon classement, sinon c'est pas le cas. Voila voila Ou le ratio sera une moyenne des points du classement supérieur. Si les point classement du joueur sont supérieur alors il est en bon classement, si non ben alors c'est qu'il est mauvais ^^
20-08-2010, 05:50 PM
(20-08-2010, 01:46 PM)Ter Rowan a écrit : au delà de ce point tu obtiens le résultat en combien de temps ? 20ms pour 10000 enregistrements... merci à tous hormis un tout petit soucis qui reste à régler je pense que c'est résolu je ferais un tuto sur lewiki, mais pour le moment je débranche le PC...trop de code tue le codeur
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: Code PHP :
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 :
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); |
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
[Réglé] Classements, systeme de cache? | Caribou | 15 | 6 293 |
22-06-2007, 03:35 AM Dernier message: Caribou |