par Perine » 18 mars 2013, 16:43
Perine ton raisonnement (mettre le from et to ) dans la table discussion n'est pas pratique car le from et to concerne le message et pas la discussion un message est envoyer par un utilisateur(from) vers un autre(to) est une discussion c'est un ensemble des messages .
par miiidooo19 » 18 mars 2013, 14:40
Je ne trouve pas personnellement qu'il y ai un grand intérêt à séparer les tables "messages" et discussions" la relation est 1:1 les tables sont suffisamment simples pour qu'une seule table soit acceptable, ça n'augmentera pas les performances et ça compliquera l'exploitation.
par miiidooo19 » 18 mars 2013, 14:38
par Nagol » 18 mars 2013, 11:21
par miiidooo19 » 17 mars 2013, 20:21
par Perine » 17 mars 2013, 20:10
par miiidooo19 » 17 mars 2013, 19:59
par miiidooo19 » 17 mars 2013, 19:52
par Perine » 17 mars 2013, 19:35
par miiidooo19 » 17 mars 2013, 19:32
par miiidooo19 » 17 mars 2013, 19:29
par Perine » 17 mars 2013, 19:20
par miiidooo19 » 17 mars 2013, 19:09
par Perine » 17 mars 2013, 19:05
select discussions.subject, max(messages.date) last_date from discussions inner join messages on messages.discussion_id = discussions.discussion_id group by messages.discussion_id order by max(messages.date) desc limit 10
par miiidooo19 » 17 mars 2013, 18:21
Et bien c'est l'idée derrière le fait de ne pas avoir que des messages, mais aussi des discussions. L'idée de messages uniquement commence quand même à dater (mails, etc.). Une application qui centralise tout peut permettre la notion de discussions
SELECT messengers . * , u1.nameUser AS nameUser1, u1.surnameUser AS surNameUser1, u2.nameUser AS nameUser2, u2.surnameUser AS surNameUser2 FROM users AS u1, users AS u2, messengers WHERE u1.idUser = messengers.to AND u2.idUser = messengers.from AND messengers.to = 1 ODERE BY dateMessenger DESC LIMIT 0,10;
SELECT DISTINCT(messengers.idDiscussion), messengers.*, u1.nameUser AS nameUserTo, u1.surnameUser AS surNameUserTo, u2.nameUser AS nameUserFrom, u2.surnameUser AS surNameUserFrom FROM users AS u1, users AS u2, messengers, discussions WHERE u1.idUser = discussions.to AND u2.idUser = discussions.from ODERE BY dateMessenger DESC LIMIT 0,10;