Dans les applications de messagerie instantanée modernes, l'état de lecture des messages et des rappels de messages non lus sont des fonctions indispensables et importantes. Grâce à PHP, nous pouvons implémenter ces fonctions, améliorant ainsi l'expérience interactive du système de chat. Cet article présentera comment utiliser les technologies PHP et AJAX pour réaliser des balises d'état de lecture de messages et des rappels de messages non lus.
Tout d'abord, un nouveau champ doit être ajouté à la table de messages de la base de données pour identifier si le message a été lu. Habituellement, les champs booléens, tels que non lus , sont utilisés pour représenter l'état non lu du message.
Lorsque l'utilisateur se connecte et consulte l'historique du chat, le champ non lu du message pertinent peut être mis à jour en faux pour indiquer que le message a été lu; tandis que le message nouvellement envoyé définit le champ sur True pour le marquer comme non lu.
L'exemple suivant montre comment mettre à jour le champ non lu d'un message spécifié à false via le code PHP:
// Définir le messageID
$messageId = informationID;
// 更新information的unreadLe champ estfalse
$query = "UPDATE messages SET unread = false WHERE id = $messageId";
mysqli_query($con, $query);
Grâce à ce code, lorsque l'utilisateur lit le message, le système peut enregistrer avec précision l'état de lecture du message.
Afin de réaliser un rappel de message non lu, la page frontale peut obtenir le nombre de messages non lus de l'utilisateur actuel à partir de l'arrière-end via la demande AJAX lors du chargement.
L'exemple de code montre comment interroger le nombre de messages non lus pour cet utilisateur dans la base de données:
// 获取未读information的数量
$query = "SELECT COUNT(*) AS unreadMessages FROM messages WHERE recipient = 'Utilisateur actuel' AND unread = true";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_assoc($result);
$unreadMessages = $row['unreadMessages'];
// 返回未读information的数量
echo $unreadMessages;
Le frontal peut utiliser JavaScript pour recevoir cette quantité et afficher des informations de rappel en fonction de la quantité. Voici un exemple des rappels de demande et de mise à jour frontaux via Ajax:
// envoyerAJAXdemander,获取未读information的数量
$.ajax({
url: 'getUnreadMessages.php',
success: function(unreadMessages) {
// 更新未读information数量显示
$('#unread-messages').text(unreadMessages);
// 如果有未读information,Rappel
if (unreadMessages > 0) {
$('#message-reminder').show();
}
}
});
Grâce à l'implémentation ci-dessus, lorsque les utilisateurs entrent dans la page de chat, ils peuvent obtenir le nombre de messages non lus en temps réel et afficher des rappels correspondants, améliorant l'expérience interactive du système.
La solution introduite dans cet article réalise la fonction de rappel de message de base dans le système de chat en temps réel PHP en marquant l'état de lecture de messages dans la table de message et en obtenant dynamiquement le nombre de messages non lus en combinaison avec AJAX. Cette conception facilite non seulement la gestion des messages, mais améliore également efficacement l'attention et l'efficacité de la réponse des utilisateurs aux messages de chat.