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 :

Afficher le rang de l'utilisateur par rapport à ses points [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
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 23
    Par défaut Afficher le rang de l'utilisateur par rapport à ses points
    Bonjour,

    J'aimerais à l'aide d'une requête afficher le rang de l'utilisateur en fonction de ses points gagnés par rapport aux autres utilisateurs.

    Voici le code que j'ai commencé à rentrer :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    $totalpoints = db_query('SELECT MAX(max_points) FROM {userpoints_total} WHERE uid = :uid', array(":uid"=>$elements['#account']->uid))->fetchField();
     
    print $totalpoints;
     
     ?>

    Comme vous pouvez le remarquer ce code est utiliser pour chercher des infos sur une bdd reliée à Drupal 7. Cela me permet d'afficher le total des points de l'utilisateur, mais j'aimerais afficher en plus le rang où se situe la personne. Par exemple si une personne détient le plus grand nombre de points, cela affichera : "Classement général : 1 / 80".

    Le "80" représente ici le nombre total d'utilisateurs.

    Merci d'avance pour votre aide !

  2. #2
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Ne connaissant pas Drupal 7 je ne me risquerais pas mais personnellement je l'aurais fait avec la requete + un boucle en PHP.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 23
    Par défaut
    Salut,

    Est-ce que tu pourrais me guider un peu plus concernant ton idée ? comment je dois construire ma requête ? il n'est pas possible d'utiliser deux SELECT dans une requête ? l'une pour chercher le total des points et l'autre pour le numéro de la ligne correspondant à l'utilisateur ?

  4. #4
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    Avant tout il faudrait que tu nous montre la structure de ta base.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 23
    Par défaut
    Salut,

    J'utilise une base de données MySQL, voici la structure de la table concernée :


    Nom de la table userpoints_total

    Elle contient 4 colonnnes : uid - points - max_points - last_update

  6. #6
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    donc teoriquement il te suffit de recuperer tous les uid dont les points sont supperieurs au nb de point de l'user et de compter le nombre de resultats pourt avoir ta position.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(*) from userpoints_total where  points > %d

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

Discussions similaires

  1. [Débutant] Centrer un texte par rapport à un point.
    Par pyngux dans le forum C#
    Réponses: 3
    Dernier message: 22/05/2014, 11h49
  2. [Turbo Pascal] Coupe de football : afficher le 1er et le 2ème par rapport aux points
    Par jombo dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 29/03/2012, 13h54
  3. div parent au premier plan par rapport à ses fils?
    Par hamidap dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 27/03/2009, 16h05
  4. afficher la valeur d un champ par rapport a un dblook?
    Par neuneu1 dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/04/2007, 13h12
  5. rotation par rapport à un point
    Par marcololo dans le forum DirectX
    Réponses: 8
    Dernier message: 03/06/2005, 15h36

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