Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/06/2008, 19h45   #1
Membre habitué
 
Inscription : octobre 2007
Messages : 177
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2007
Messages : 177
Points : 138
Points : 138
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 :
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 ?
umeboshi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 04h03   #2
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Bonjour,

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

Code :
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 - http://www.alain-defrance.com
Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
Project Lead eXo Social
Java Black Belt - Java Black Belt Coach
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 13h27   #3
Membre habitué
 
Inscription : octobre 2007
Messages : 177
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2007
Messages : 177
Points : 138
Points : 138
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
umeboshi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h22.


 
 
 
 
Partenaires

Hébergement Web