현대적인 인스턴트 메시징 응용 프로그램에서 메시지 및 읽지 않은 메시지 알림의 읽기 상태는 필수 불가결하고 중요한 기능입니다. PHP를 통해 이러한 기능을 구현하여 채팅 시스템의 대화식 경험을 향상시킬 수 있습니다. 이 기사는 PHP 및 AJAX 기술을 사용하여 메시지 읽기 상태 태그 및 읽지 않은 메시지 알림을 실현하는 방법을 소개합니다.
먼저 메시지를 읽었는지 확인하기 위해 데이터베이스 메시지 테이블에 새 필드를 추가해야합니다. 일반적으로 읽지 않은 부울 필드는 메시지의 읽지 않은 상태를 나타내는 데 사용됩니다.
사용자가 로그인하고 채팅 기록을 보면 관련 메시지의 읽지 않은 필드를 False 로 업데이트하여 메시지가 읽혀 졌음을 나타낼 수 있습니다. 새로 보낸 메시지는 필드를 진정 으로 설정하여 읽지 않은 것으로 표시합니다.
다음 예제는 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();
}
}
});
위의 구현을 통해 사용자가 채팅 페이지를 입력하면 읽지 않은 메시지 수를 실시간으로 얻고 해당 알림을 표시하여 시스템의 대화식 경험을 향상시킬 수 있습니다.
이 기사에 소개 된 솔루션은 메시지 테이블에서 메시지 읽기 상태를 표시하고 AJAX와 함께 읽지 않은 메시지 수를 동적으로 얻음으로써 PHP 실시간 채팅 시스템의 핵심 메시지 알림 기능을 실현합니다. 이 디자인은 메시지 관리를 촉진 할뿐만 아니라 채팅 메시지에 대한 사용자의 관심과 응답 효율성을 효과적으로 향상시킵니다.