J'ai une messagerie privé avec système de messages lus / non lus.
J'affiche la liste des messages lus et non lus dans un toggle.
Voici la table `wa_messagerie` :
- id
- id_expediteur
- id_destinataire
- message
- timestamp
Le problème se trouve à l'affichage (Voir l'image ci-dessous) :

Les messages sont évidemment créés par moi pour tester
Le message grisé est un message non lu
Les messages en fond blanc sont des messages lus
J'aimerais que les doublons de messages (de Guillaume pour l'exemple avec l'image) d'un même membre soient regroupés, même ceux qui sont déjà lus.
Voici mes 2 requêtes utilisées avec GROUP BY qui est un échec
Une qui affiche les messages non lus (lu=0)
Une qui affiche les messages lus (lu=1)
<?php
$req = $connect->prepare('SELECT wa_communaute.id, message, id_destinataire, id_expediteur, lu, prenom, nom, timestamp FROM wa_messagerie RIGHT JOIN wa_communaute ON id_expediteur = wa_communaute.id WHERE lu=0 AND id_destinataire = :id_expediteur GROUP BY id_expediteur, wa_communaute.id ORDER BY timestamp DESC');
$req->execute(array(':id_expediteur'=>$_SESSION['id']));
while ($data = $req->fetch()) {
echo '<li>';
echo '<a href="" class="msg_nonlu">';
echo '<img src="../img/upload/'.$data['id'].'-mini.png" class="floatl" alt="" style="margin-right: 5px;" />';
echo '<div style="line-height: 17px;">';
echo '<div class="author" style="font-weight: bold; color: #333;">'.$data['prenom'].' '.$data['nom'].'</div><div class="message" style="color: #666;">'.$data['message'].'</div><div class="time" style="color: #aaa">'.getRelativeTime($data['timestamp']).'</div>';
echo '</div>';
echo '</a>';
echo '</li>';
}
$req->closeCursor();
$req = $connect->prepare('SELECT wa_communaute.id, message, id_destinataire, id_expediteur, lu, prenom, nom, timestamp FROM wa_messagerie RIGHT JOIN wa_communaute ON id_expediteur = wa_communaute.id WHERE lu=1 AND id_destinataire = :id_expediteur GROUP BY id_expediteur, wa_communaute.id ORDER BY timestamp DESC');
$req->execute(array(':id_expediteur'=>$_SESSION['id']));
while ($data = $req->fetch()) {
echo '<li>';
echo '<a href="" class="msg_lu">';
echo '<img src="../img/upload/'.$data['id'].'-mini.png" class="floatl" alt="" style="margin-right: 5px;" />';
echo '<div style="line-height: 17px;">';
echo '<div class="author" style="font-weight: bold; color: #333;">'.$data['prenom'].' '.$data['nom'].'</div><div class="message" style="color: #666;">'.$data['message'].'</div><div class="time" style="color: #aaa">'.getRelativeTime($data['timestamp']).'</div>';
echo '</div>';
echo '</a>';
echo '</li>';
}
$req->closeCursor();
?>
Merci d'avance pour votre aide