In modernen Instant -Messaging -Anwendungen sind der Lesestatus von Nachrichten und ungelesenen Nachrichten -Erinnerungen unverzichtbare und wichtige Funktionen. Durch PHP können wir diese Funktionen implementieren und damit die interaktive Erfahrung des Chat -Systems verbessern. In diesem Artikel wird vorgestellt, wie PHP- und AJAX -Technologien verwendet werden, um Status -Tags und ungelesene Nachrichten zu erkennen.
Zunächst muss ein neues Feld in die Datenbanknachrichtentabelle hinzugefügt werden, um festzustellen, ob die Nachricht gelesen wurde. Normalerweise werden boolesche Felder wie ungelesen verwendet, um den ungelesenen Zustand der Nachricht darzustellen.
Wenn sich der Benutzer anmeldet und den Chat -Verlauf anzeigt, kann das ungelesene Feld der relevanten Nachricht auf False aktualisiert werden, um anzuzeigen, dass die Nachricht gelesen wurde. Während die neu gesendete Nachricht das Feld auf True setzt, um es als ungelesen zu markieren.
Das folgende Beispiel zeigt, wie das Feld Unread einer angegebenen Nachricht über PHP -Code an False aktualisiert wird:
// Definieren Sie die NachrichtID
$messageId = InformationID;
// 更新Information的unreadDas Feld istfalse
$query = "UPDATE messages SET unread = false WHERE id = $messageId";
mysqli_query($con, $query);
Wenn der Benutzer die Nachricht liest, kann das System über diesen Code den Lesestatus der Nachricht genau aufzeichnen.
Um eine ungelesene Nachrichtenerinnerung zu erkennen, kann die Front-End-Seite die Anzahl der ungelesenen Nachrichten des aktuellen Benutzers vom Back-End-Ajax-Anforderung beim Laden erhalten.
Der Beispielcode zeigt, wie Sie die Anzahl der ungelesenen Nachrichten für diesen Benutzer in der Datenbank abfragen:
// 获取未读Information的数量
$query = "SELECT COUNT(*) AS unreadMessages FROM messages WHERE recipient = 'Aktueller Benutzer' AND unread = true";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_assoc($result);
$unreadMessages = $row['unreadMessages'];
// 返回未读Information的数量
echo $unreadMessages;
Das Front-End kann JavaScript verwenden, um diese Menge zu empfangen und Erinnerungsinformationen basierend auf der Menge anzuzeigen. Hier ist ein Beispiel für das Front-End-Anfragen und -aktualisierungs-Erinnerungen über AJAX:
// schickenAJAXfragen,获取未读Information的数量
$.ajax({
url: 'getUnreadMessages.php',
success: function(unreadMessages) {
// 更新未读Information数量显示
$('#unread-messages').text(unreadMessages);
// 如果有未读Information,Erinnerung zeigen
if (unreadMessages > 0) {
$('#message-reminder').show();
}
}
});
Wenn Benutzer die Chat -Seite eingeben, können sie die Anzahl der ungelesenen Nachrichten in Echtzeit eingeben und entsprechende Erinnerungen anzeigen, wodurch die interaktive Erfahrung des Systems verbessert wird.
Die in diesem Artikel eingeführte Lösung erkennt die Kernnachrichtenerinnerungsfunktion im PHP-Echtzeit-Chat-System, indem der Status des Nachrichtenlesung in der Nachrichtentabelle markiert und die Anzahl der ungelesenen Nachrichten in Kombination mit AJAX dynamisch abgerufen wird. Dieses Design erleichtert nicht nur das Nachrichtenmanagement, sondern verbessert auch effektiv die Aufmerksamkeit und die Antworteffizienz der Benutzer für Chat -Nachrichten.