最新のインスタントメッセージングアプリケーションでは、メッセージの読み取りステータスと未読メッセージのリマインダーは、不可欠で重要な機能です。 PHPを通じて、これらの機能を実装して、チャットシステムのインタラクティブエクスペリエンスを改善できます。この記事では、PHPおよびAJAXテクノロジーを使用して、メッセージの読み取りステータスタグと未読メッセージのリマインダーを実現する方法を紹介します。
まず、新しいフィールドをデータベースメッセージテーブルに追加して、メッセージが読み取られたかどうかを識別する必要があります。通常、未読などのブールフィールドは、メッセージの未読状態を表すために使用されます。
ユーザーがログインしてチャット履歴を表示すると、関連するメッセージの未読フィールドをfalseに更新して、メッセージが読み取られていることを示すことができます。一方、新しく送られたメッセージは、フィールドをtrueに設定して、未読としてマークします。
次の例は、指定されたメッセージの未読フィールドをPHPコードを介してFalseに更新する方法を示しています。
// メッセージを定義しますID
$messageId = 情報ID;
// 更新情報的unreadフィールドはですfalse
$query = "UPDATE messages SET unread = false WHERE id = $messageId";
mysqli_query($con, $query);
このコードを介して、ユーザーがメッセージを読み取ると、システムはメッセージの読み取りステータスを正確に記録できます。
未読メッセージのリマインダーを実現するために、フロントエンドページは、ロード時にAjax要求を通じてバックエンドから現在のユーザーの未読メッセージの数を取得できます。
サンプルコードは、データベース内のユーザーの未読メッセージの数を照会する方法を示しています。
// 获取未读情報的数量
$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;
フロントエンドはJavaScriptを使用して、この数量を受信し、数量に基づいてリマインダー情報を表示できます。 Ajaxを介してリマインダーを要求および更新するフロントエンドの例を次に示します。
// 送信AJAX聞く,获取未读情報的数量
$.ajax({
url: 'getUnreadMessages.php',
success: function(unreadMessages) {
// 更新未读情報数量显示
$('#unread-messages').text(unreadMessages);
// 如果有未读情報,リマインダーを表示します
if (unreadMessages > 0) {
$('#message-reminder').show();
}
}
});
上記の実装を通じて、ユーザーがチャットページを入力すると、Unreadメッセージの数をリアルタイムで取得し、対応するリマインダーを表示し、システムのインタラクティブエクスペリエンスを強化できます。
この記事で導入されたソリューションは、メッセージテーブルでメッセージの読み取りステータスをマークし、AJAXと組み合わせて未読メッセージの数を動的に取得することにより、PHPリアルタイムチャットシステムのコアメッセージリマインダー関数を実現します。この設計は、メッセージ管理を促進するだけでなく、ユーザーの注意と応答効率をチャットメッセージに対する効果的に改善します。