Live -Chat ist zu einem wesentlichen Merkmal in modernen sozialen Anwendungen und Websites geworden. Bei der Entwicklung dieser Funktion ist es eine sehr wichtige Voraussetzung, um sicherzustellen, dass Benutzer klar erkennen können, welche Nachrichten gelesen wurden und welche Nachrichten nicht gelesen wurden. In diesem Artikel werden Sie durch die Implementierung dieser Funktionalität mithilfe von PHP und MySQL und der Identifizierung von Les und ungelesenen Status von Nachrichten implementiert.
Um den Lese- und ungelesenen Status der Nachricht zu erreichen, müssen wir zunächst die Datenbank entwerfen. Es umfasst hauptsächlich zwei Tabellen: eine Benutzertabelle und eine Nachrichtentabelle.
Tabellenbenutzer erstellen (Benutzer ID int (11) Auto_increment Primärschlüssel, Benutzername Varchar (50) NICHT NULL );
Tabellenmeldungen erstellen ( ID int (11) Auto_increment Primärschlüssel, SENTER_ID INT (11) NICHT NULL, receiver_id int (11) nicht null, Nachrichtentext, is_read tinyint (1) Standard 0 );
Im obigen Datenbanktabellenentwurf enthält die Tabelle "Benutzer" die ID und den Benutzernamen des Benutzers, während die Tabelle "messages" die Nachrichten -ID, die Absender -ID, die Empfänger -ID, den Nachrichteninhalt und den Lesen des Status der Nachricht speichert.
Als nächstes werden wir einen Beispielcode verwenden, um zu zeigen, wie Sie den Lesen und ungelesenen Zustand der Nachricht erhalten.
<?php // Stellen Sie eine Verbindung zur Datenbank her $connection = mysqli_connect('localhost', 'username', 'password', 'database_name'); // Holen Sie sich die Benutzerliste $query = mysqli_query($connection, "SELECT * FROM users"); $users = mysqli_fetch_all($query, MYSQLI_ASSOC);
<?php // Holen Sie sich den aktuellen BenutzerID $user_id = $_SESSION['user_id']; // Holen Sie sich ungelesene Nachrichten $query = mysqli_query($connection, "SELECT * FROM messages WHERE receiver_id = '$user_id' AND is_read = 0"); $unread_messages = mysqli_fetch_all($query, MYSQLI_ASSOC); // Markieren Sie ungelesene Nachrichten wie gelesen foreach ($unread_messages as $message) { $message_id = $message['id']; mysqli_query($connection, "UPDATE messages SET is_read = 1 WHERE id = '$message_id'"); } // Lesen Sie die Nachricht $query = mysqli_query($connection, "SELECT * FROM messages WHERE receiver_id = '$user_id' AND is_read = 1"); $read_messages = mysqli_fetch_all($query, MYSQLI_ASSOC);
<?php // Zeigen Sie ungelesene Nachrichten foreach ($unread_messages as $message) { echo "<div class='unread-message'> {$ message ['message']}</div> ";} // Meldung lesen: $ read_messages als $ message) {echo"<div class='read-message'> {$ message ['message']}</div> ";}
Im obigen Code stellen wir zunächst eine Verbindung zur Datenbank her und erhalten alle ungelesenen Nachrichten für den aktuellen Benutzer. Anschließend aktualisieren wir den Status dieser ungelesenen Nachrichten, um die ungelesenen bzw. Lesen von Nachrichten zu lesen und anzuzeigen.
Durch dieses Tutorial haben wir die Identifizierung des Lesens und der ungelesenen Status der Leser- und ungelesenen Status der Live -Chat -Funktion in PHP erfolgreich implementiert. Wenn sich die Anforderungen ändern, können Sie die Funktion weiter optimieren und erweitern, z. B. Hinzufügen von Funktionen wie Nachrichtenbenachrichtigungen oder Nachrichteneinnahmen.
Das obige ist die grundlegende Methode zur Implementierung der Identifizierung von Nachrichten von Lese- und ungelesenen Status in der Echtzeit-Chat-Funktion von PHP-Entwicklung. Ich hoffe, es wird für Ihre Entwicklungsarbeit hilfreich sein!