Messagerie interne de type "gmail"

jul39dole Messages postés 117 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 21 janvier 2011 - 15 sept. 2009 à 09:15
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 - 15 sept. 2009 à 09:25
Bonjour,
Je cherche à développer une messagerie interne de type "gmail" : j'aimerai que les messages entre membres apparaissent sous forme de conversation. Un exemple vaut mieux qu'un long discours :
si je suis Paul, je clique sur ma messagerie, il apparait :
"
Messagerie
Conversation avec Marie
Conversation avec Jack
"
Si je clique sur "Conversation avec Jack", il apparait tous les messages entre paul et jack.

J'hésite entre plusieurs modèle de base de donnée :
1) Une table message, contenant : membre_expediteur, membre_destinataire, message, date. Le problème est la requête SQL pour retrouver les derniers messages de chaque conversation d'un membre donné... Sachant que ce membre donné peut-être expediteur ou destinataire, ça complique...

2) une autre option serait d'utiliser une table "conversation", avec un champs "dernier_message". Il serait ainsi facile de retrouver chaque dernier message d'une conversation, mais j'ai peur que si deux membres postent en même temps pour la même conversation, que cela créé des problèmes. Peut être un trigger qui met à jour automatique la table "conversation" dès qu'on ajoute un message pourrait règler le problème ?

Je ne sais pas si je me suis bien expliqué, mais auriez-vous des suggestions ?

Merci !

1 réponse

Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
15 sept. 2009 à 09:25
Hello,

La, je pense que pour la conversation c'est fais comme ça :

SI
(Objet du mail 1 = Objet du mail 2
Ou Objet du mail 1 = "Re:" + Objet du mail 2)
ET
(Destinataire 1 = Expediteur 2)
ALORS
(Conversation)

Voir même

RECHERCHER
Tous les mails
QUAND
Objet du mail recherché = Objet du mail
OU
Objet du mail recherché = Re:Objet du mail


_________________________________
Min iPomme
0
Rejoignez-nous