Hallo,
ich möchte gerne eine Übersicht für den jeweiligen Benutzer schaffen, in der er sieht, mit welchem Benutzer er geschrieben oder von welchem Benutzer er eine Mitteilung bekommen hat.
In der Übersicht wähle ich dazu aus der Datenbank alle Einträge, die die eigene User-ID entweder im Feld Empfänger oder Sender hat.
Das funktioniert soweit auch. Nur in manchen Fällen wird nicht die neueste Message-ID genommen. In der Konsequenz bedeutet das, dass ich hier nicht z.B. farblich markieren kann, ob hier eine neue Nachricht oder nicht vorliegt.
Wie kann ich eine Konversation zwischen zwei Benutzern so gruppiert auslesen, dass die neueste message-id zurück kommt?
ich möchte gerne eine Übersicht für den jeweiligen Benutzer schaffen, in der er sieht, mit welchem Benutzer er geschrieben oder von welchem Benutzer er eine Mitteilung bekommen hat.
In der Übersicht wähle ich dazu aus der Datenbank alle Einträge, die die eigene User-ID entweder im Feld Empfänger oder Sender hat.
PHP:
SELECT
id,
an,
von,
zeit,
readed
FROM
message
WHERE
deleted_by_an = '0'
AND
(
von ='" . $_SESSION['user'] . "'
OR
an = '" . $_SESSION['user'] . "'
)
Group By (if(an > von, von, an))
, (if(an > von, an, von))
Order BY zeit DESC
Das funktioniert soweit auch. Nur in manchen Fällen wird nicht die neueste Message-ID genommen. In der Konsequenz bedeutet das, dass ich hier nicht z.B. farblich markieren kann, ob hier eine neue Nachricht oder nicht vorliegt.
Wie kann ich eine Konversation zwischen zwei Benutzern so gruppiert auslesen, dass die neueste message-id zurück kommt?
id | von | an |
1 | 12 | 13 |
2 | 13 | 12 |
3 | 12 | 14 |
4 | 13 | 14 |