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

PHP & Base de données Discussion :

Obtenir la position d'un classement [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut Obtenir la position d'un classement


    Soit une table scores qui stocke les résultats d’un concours : le pseudo du membre et ses points.



    Je voudrais obtenir la position selon un critère de classement ici je sélectionne tous les membres de la table scores et les trière par points, du plus grand au plus petit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
     
    $i = 1;
    include('config.php');
    $resultat = mysql_query("SELECT * FROM scores ORDER BY points DESC");
    while ($pseudo = mysql_fetch_array($resultat))
    {
    ?>
     
    <?php echo $i++; echo $pseudo['pseudo'] ?><br />
     
    <?php
    }
     
    ?>
    ce qui nos permet d'avoir un classement des membres comme ci-dessus :

    1. VINCENT
    2. FLORENT
    3. TOTO


    dans un espace membre je souhaite afficher la position de FLORENT (2) et le nombre de ses points également pour tous les autres membres voila merci pour vos réponses.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $i = 1;
    include('config.php');
    $resultat = mysql_query("SELECT * FROM scores ORDER BY points DESC");
    while ($pseudo = mysql_fetch_array($resultat))
    {
    	echo $i.'. '.$pseudo['pseudo'];
     
    	$i++;
    }
    ?>
    Si il y a quelque chose que tu ne comprends pas dans ce code, dis le moi et je t'explique

  3. #3
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut
    Je n'ai pas trop compris ton message je pense que tu as corrigé l'affichage des résultats je vais répéter ma questionne je voudrais afficher à Florent sa position qui est 2 dans son espace membre !

    exemple:

    Bonjour Forent
    tu as x points
    tu as la position 2

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    La position d'un enregistrement peut etre obtenu en comptant ceux qui sont au dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT count(*) as position FROM table t1 
    WHERE t1.points > (SELECT points FROM table t2 WHERE t2.user = xxxx)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut
    Merci pour cette jolie requête je voudrais savoir encore comment afficher les résultats en php je vous rappelle ma table score :



    merci

  6. #6
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 15
    Par défaut
    Voila j'ai résolu le problème c'était simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
     
    include('config.php');
    $counter = mysql_query("SELECT count(*) as position FROM score WHERE Points >=(SELECT points FROM score WHERE pseudo ='florent')");
    $row=mysql_fetch_array($counter);
    echo $row['position'];
     
    mysql_close();
    ?>
    Merci Sabotage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] Obtenir la position d'un noeud
    Par zoubidaman dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/09/2006, 09h34
  2. [c++] Obtenir la position d'une fenêtre sur l'écran
    Par Silverstone dans le forum Windows
    Réponses: 2
    Dernier message: 05/09/2006, 16h11
  3. Obtenir la position de la souris
    Par gingman dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/03/2006, 18h38
  4. Obtenir la position du curseur dans une Image
    Par bastoune dans le forum Composants VCL
    Réponses: 6
    Dernier message: 14/11/2003, 21h02

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