Bonjour,
J'ai un système de boîte de réception, dans celui-ci se trouvent des conversations et dans ces conversations se trouvent des messages.
Il y a une table "conversations" et une table "message", dans chacune de ces tables se trouve un id unique permettant de relier la conversation aux messages.
Lorsqu'il y a un nouveau message, le champs "status" de la table "message" est à 0.
Lorque le receveur clique sur la conversation pour la lire, "status" s'update à 1.
Dans la boîte de réception, je souhaiterai afficher seulement les conversations et non tous les messages que les conversations contiennent.
Donc pour cela j'ai fais cette requête:
Donc, là seulement les conversations s'affichent, le problème étant que lorsqu'un nouveau message apparait, je ne peux l'afficher sachant que les messages sont groupés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT u.nickname, u.firstname, u.lastname, u.main_photo, c.id_swap, c.object, c.date, c.receiver, c.sender, c.nb_person, c.answer, c.status, m.status_message, m.id_swap_message, m.receiver_message, m.sender_message FROM users AS u INNER JOIN conversation AS c ON u.nickname = c.sender AND c.receiver = "' . $data_my_select['nickname'] . '" OR u.nickname = c.receiver AND c.sender = "' . $data_my_select['nickname'] . '" LEFT JOIN messages AS m ON c.id_swap = m.id_swap_message AND c.receiver_message = "' . $data_my_select['nickname'] . '" GROUP BY c.id;
Avez-vous une solution ?
Au plaisir de vous lire.
Partager