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

Requêtes MySQL Discussion :

Afficher le pseudo du membre qui a écrit le dernier message


Sujet :

Requêtes MySQL

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 178
    Points : 252
    Points
    252
    Par défaut Afficher le pseudo du membre qui a écrit le dernier message
    Bonjour,

    J'aimerai, dans le cadre d'un forum en php mysql afficher le pseudo du membre qui a écrit le dernier message d'un sujet

    Table message :
    id_message
    date
    heure
    #id_membre
    #id_sujet

    Table membre :
    id_membre
    pseudo

    J'ai essayé avec cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT pseudo FROM membre WHERE(SELECT MAX(heure) from message WHERE id_sujet="13")
    Mais cela m'affiche tous les pseudos, je pense qu'il faut faire appel à l'id_membre pour filtrer dans la table membre mais je n'y parvient pas ...

    Pouvez-vous m'aidez ?

  2. #2
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Bonjour,

    pour répondre directement a ta question je propose ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT pseudo
    FROM membre
    INNER JOIN message ON membre.id_membre = message.id_membre
    WHERE message.heure = (
         SELECT MAX(heure)
         FROM message msg
         WHERE msg.id_sujet = 13
    )
    AND message.id_sujet = 13;
    Cependant attention la structure de la table message me parrait délicate.
    En effet avec ce type de requête tu te base sur l'heure de message, mais pas sur la date.
    Cela peut provoquer des bugs difficiles a corriger. Je conseillerais donc de créer un seul champ (datetime) qui permettrait de se baser sur l'heure ET la date en même temps.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 178
    Points : 252
    Points
    252
    Par défaut
    Merci pour ta réponse rapide, c'est exactement ça

    A propos de ta remarque : je vais changer ça tu as raison, puis ça fera un champ en moins dans la table

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

Discussions similaires

  1. [MySQL] Afficher le pseudo des membres qui sont sur mon site.
    Par fpaquin dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/11/2012, 02h34
  2. Afficher les pseudos qui ne commencent pas par une lettre.
    Par asoka13 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/07/2007, 17h30
  3. Voir les membre qui parcourent un sujet
    Par NicolasG dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 19/04/2006, 13h26
  4. Afficher une fenêtre d'informations qui donne l'impression de se détâcher
    Par jean_bobi dans le forum Agents de placement/Fenêtres
    Réponses: 11
    Dernier message: 25/09/2005, 15h31

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