Hallo Ich versuche, eine direkte Nachricht Posteingang in PHP zu erstellen. Ich habe versucht, eine Abfrage zu erstellen, die die letzte Nachricht zwischen den angemeldeten Benutzern und allen Benutzern erhält, die entweder angemeldet sind oder eine Nachricht an den angemeldeten Benutzer gesendet haben. Ähnlich wie Insatagram und Twitter in ihren Posteingängen eine Liste aller Konversationen zwischen dem angemeldeten Benutzer und den Personen anzeigen, die sie benachrichtigt haben oder die Nachrichten gesendet haben.MySql Abfrage für direkte Nachricht
Ab sofort zeigt meine Abfrage alle Gespräche zwischen dem angemeldeten Benutzer und den Personen, mit denen ich Gespräche geführt habe, wenn ich nur die letzte Nachricht zwischen dem angemeldeten Benutzer und allen anderen Benutzern haben möchte. Ich hoffe, ich habe das gut genug erklärt.
Meine Abfrage-Anweisung ab jetzt ist:
SELECT *
FROM dm
WHERE(receiver="user") or (sender="user")
ORDER BY senttime DESC;
Meine direkte Nachrichtentabelle sieht wie folgt aus:
CREATE TABLE IF NOT EXISTS dm (
id INT(11) NOT NULL AUTO_INCREMENT,
receiver VARCHAR(100) NOT NULL,
sender VARCHAR(100) NOT NULL,
senttime DATETIME NOT NULL,
message TEXT NOT NULL,
PRIMARY KEY (id)
)
Zum Beispiel:
id receiver sender senttime message
1 Jack Will 2016-07-20 20:59:27 Hi
2 Jack Bob 2016-07-21 20:59:27 What's up
3 Bob Jack 2016-07-22 20:59:27 Hanging out what about
soll die folgenden wenn Jack zurückkehren ist der Benutzer in der Abfrage
id receiver sender senttime message
3 Bob Jack 2016-07-22 20:59:27 Hanging out what about you?
1 Jack Will 2016-07-20 20:59:27 Hi
dies nicht Arbeit. Die Abfrage unterscheidet nicht zwischen den Sender- und Empfängerwerten mit Jack und Bob. – JoOlay
Probieren Sie die neue Version des Codes –
Vielen Dank, Mann! Es klappt! – JoOlay