IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages serveur Discussion :

php/mysql classement d'une table


Sujet :

Langages serveur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 8
    Par défaut php/mysql classement d'une table
    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);

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 8
    Par défaut
    désolé je n'aime pas les "up" mais personne n'a t il pas une idée ?

  3. #3
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 3
    Par défaut
    SELECT @rank:=@rank+1 AS rank , pseudo , points FROM classement ORDER BY points DESC LIMIT 0, 10

    te donnera les 10 premiers elements

    SELECT @rank:=@rank+1 AS rank , pseudo , points FROM classement ORDER BY points DESC LIMIT 10, 20
    te donnera les 10 suivants ....

    SELECT @rank:=@rank+1 AS rank , pseudo , points FROM classement ORDER BY points DESC LIMIT 20, 30
    te donnera les 10 suivants ....

    Ca repond pas exactement a la question, mais ca devrait repondre au probleme general.

Discussions similaires

  1. [PHP/MySql]traitement d'une liste dynamique
    Par ben_popcorn dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/09/2006, 12h51
  2. [Mysql] Dump d'une table sous un nom différent
    Par devoo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 15/09/2006, 16h58
  3. Réponses: 12
    Dernier message: 12/06/2006, 14h29
  4. Php Mysql - nom colonnes des tables
    Par splend_f dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/04/2006, 12h03
  5. [MySQL] Jointure sur une table déjà jointe
    Par genova dans le forum Requêtes
    Réponses: 3
    Dernier message: 18/10/2005, 23h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo