État de lecture des messages et rappel des messages non lus du système de discussion en temps réel PHP

王林
Libérer: 2023-08-13 19:00:01
original
1010 Les gens l'ont consulté

État de lecture des messages et rappel des messages non lus du système de discussion en temps réel PHP

Statut de lecture des messages et rappel des messages non lus pour le système de chat en temps réel PHP

Dans les réseaux sociaux et les applications de messagerie instantanée modernes, l'état de lecture des messages et le rappel des messages non lus sont des fonctionnalités essentielles. Dans le système de chat en temps réel PHP, nous pouvons implémenter ces fonctions via quelques codes simples. Cet article expliquera comment utiliser PHP pour implémenter les fonctions d'état de lecture des messages et de rappel des messages non lus, et fournira des exemples de code correspondants.

  1. Statut de lecture du message

Tout d'abord, nous devons ajouter un champ à la table des messages dans la base de données pour représenter l'état de lecture du message. Nous pouvons utiliser un champ booléen, tel que non lu, pour indiquer si le message a été lu.

Lorsque l'utilisateur se connecte au système de chat et consulte l'historique du chat, nous pouvons définir le champ non lu de tous les messages sur faux, indiquant que ces messages ont été lus par l'utilisateur. Lorsque de nouveaux messages sont envoyés à l'utilisateur, nous définissons le champ non lu sur true, indiquant que ces messages ne sont pas lus.

Ce qui suit est un exemple de code pour mettre à jour le champ non lu du message sur false :

// 定义消息ID
$messageId = 消息ID;

// 更新消息的unread字段为false
$query = "UPDATE messages SET unread = false WHERE id = $messageId";
mysqli_query($con, $query);
Copier après la connexion

Avec le code ci-dessus, nous pouvons mettre à jour le champ non lu correspondant sur false lorsque l'utilisateur lit le message, réalisant ainsi la fonction d'état de lecture de le message.

  1. Rappel de message non lu

Afin de mettre en œuvre la fonction de rappel de message non lu, nous pouvons utiliser la technologie AJAX pour envoyer une demande au backend afin d'obtenir le nombre de messages non lus lorsque l'utilisateur ouvre la page du système de discussion.

Ce qui suit est un exemple de code pour obtenir le nombre de messages non lus :

// 获取未读消息的数量
$query = "SELECT COUNT(*) AS unreadMessages FROM messages WHERE recipient = '当前用户' AND unread = true";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_assoc($result);
$unreadMessages = $row['unreadMessages'];

// 返回未读消息的数量
echo $unreadMessages;
Copier après la connexion

Dans le code ci-dessus, nous obtenons le nombre de messages non lus pour l'utilisateur actuel en interrogeant la base de données et renvoyons les résultats à la page frontale.

Dans la page front-end, nous pouvons utiliser JavaScript pour recevoir et traiter le nombre de messages non lus renvoyés par le back-end, puis afficher le rappel correspondant.

Ce qui suit est un exemple de code pour afficher les rappels de messages non lus sur la page frontale :

// 发送AJAX请求,获取未读消息的数量
$.ajax({
    url: 'getUnreadMessages.php',
    success: function(unreadMessages) {
        // 更新未读消息的数量
        $('#unread-messages').text(unreadMessages);

        // 如果有未读消息,则显示消息提醒
        if (unreadMessages > 0) {
            $('#message-reminder').show();
        }
    }
});
Copier après la connexion

Avec le code ci-dessus, nous pouvons obtenir le nombre de messages non lus et afficher le rappel correspondant lorsque l'utilisateur ouvre la page du système de chat.

Résumé :

Grâce aux exemples de code ci-dessus, nous pouvons implémenter les fonctions d'état de lecture des messages et de rappel des messages non lus du système de discussion en temps réel PHP. Les utilisateurs peuvent enregistrer l'état de lecture du message en marquant le champ non lu du message, obtenir le nombre de messages non lus grâce à la technologie AJAX et afficher le rappel correspondant. Ces fonctionnalités peuvent améliorer l'expérience utilisateur, permettant aux utilisateurs de recevoir et de lire de nouveaux messages de discussion en temps opportun.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal