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 :

Requête pour afficher les résultats triés


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 41
    Points
    41
    Par défaut Requête pour afficher les résultats triés
    Bonjour,

    Je développe en ce moment un site communautaire, sur lequel je souhaite faire un classement des membre en fonction de leur participation. Plusieurs facon de participer sont possible : message dans le forum, envoi de photo, commentaire,...
    Chaque participation donne un nombre de point différent (exemple : 1pt pour un message sur le forum ou un commentaire, 5 points l'envoi d'une photo,...). Le nombre total de points par membre définit le classement de membres.
    J'ai donc une table membres avec :
    - ID
    - pseudo
    - ....

    une table membres_points :
    - ID
    - userID
    - date
    - type (le type contient "forum", "commentaire", "photo",...)

    Donc à chaque participation j'ajoute un enregistrement dans la table "membres_points".

    Donc le but est d'afficher la liste des membre par ordre du nombre de points. Et la je dois dire que je sèche . Si quelqu'un à une piste, elle serait la bienvenue .

  2. #2
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT count(*) FROM membres_points GROUP BY userID ORDER BY count(*)
    entre nous est-ce que cette table membres_points sert vraiment ?
    as-tu besoin du detail de chaque point ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    J'ai besoin du détail, surtout des dates en fait parce que je souhaite pouvoir calculer la participation des 3 derniers mois, celle de l'année en cours,...

    Avec la requête que tu me propose j'aurai le nombre d'enregistrement par personnes mais le nombre de points n'est pas forcément fonction du nombre d'enregistrements puisque certains enregistrements font 5pts d'autre 1 (en fonction du champ "type").

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
    SUM(CASE TYPE 
    WHEN 'forum' THEN 5 
    WHEN 'commentaire' THEN 2 
    END) as points 
    FROM membre_points
    GROUP BY userID 
    ORDER BY points DESC
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    Merci c'est ce qu'il me fallait . Je vois que j'ai encore beaucoup à apprendre en SQL.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    Autre petite demande :
    Maintenant que j'ai un jolie classement (merci sabotage ), je me dis qu'il serait bien que j'affiche sur le profil du membre son classement du genre :
    vous êtes x éme au classement de participation.

    Je ne sais pas si c'est possible de récupérer ca avec une simple requête .

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/04/2015, 13h27
  2. Requête pour afficher les résultats par lot
    Par devalender dans le forum SQL
    Réponses: 4
    Dernier message: 26/10/2011, 15h26
  3. [AC-2007] Requête pour Changer les Résultats d'une autre requête
    Par Cloé_de_Bourg dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/11/2009, 13h33
  4. [ODBC] Exécuter une requête et afficher les résultats
    Par LawKnight dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/04/2009, 23h47
  5. Commande SQL pour afficher les résultats d'une lettre
    Par floctc dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/04/2009, 11h37

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