현재 위치: > 최신 기사 목록> PHP 개발 실시간 채팅 메시지 읽기 및 읽지 않은 상태 식별 자습서

PHP 개발 실시간 채팅 메시지 읽기 및 읽지 않은 상태 식별 자습서

M66 2025-07-30

PHP 개발 실시간 채팅 메시지 읽기 및 읽지 않은 상태 식별 자습서

라이브 채팅은 현대적인 소셜 애플리케이션 및 웹 사이트에서 필수 기능이되었습니다. 이 기능을 개발할 때 사용자가 읽은 메시지와 읽지 않은 메시지를 명확하게 확인할 수 있도록하는 것이 매우 중요한 요구 사항입니다. 이 기사에서는 PHP 및 MySQL을 사용 하여이 기능을 구현하는 방법을 사용하고 메시지의 읽기 및 읽지 않은 상태 식별을 구현합니다.

데이터베이스 디자인

메시지의 읽기 및 읽지 않은 상태를 달성하려면 먼저 데이터베이스를 설계해야합니다. 주로 사용자 테이블과 메시지 테이블의 두 테이블이 포함됩니다.

사용자 테이블을 만듭니다

 테이블 사용자 만들기 (
    id int (11) auto_increment 기본 키,
    Username Varchar (50) NOL NOL
);

메시지 테이블을 만듭니다

 테이블 메시지 생성 (
    id int (11) auto_increment 기본 키,
    sender_id int (11) NOT NULL,
    receiver_id int (11) NOT NULL,
    메시지 텍스트,
    IS_READ TINYINT (1) 기본값 0
);

위의 데이터베이스 테이블 디자인에 '사용자'테이블에는 사용자의 ID와 사용자 이름이 포함되어 있으며 '메시지'테이블은 메시지 ID, 발신자 ID, 수신자 ID, 메시지 내용 및 메시지의 읽기 상태를 저장합니다.

메시지의 읽기 및 읽지 않은 상태 식별을 구현하십시오

다음으로 일부 샘플 코드를 사용하여 메시지의 읽기 및 읽지 않은 상태를 얻는 방법을 보여줍니다.

사용자 목록을 얻으십시오

<?php
// 데이터베이스에 연결하십시오
$connection = mysqli_connect('localhost', 'username', 'password', 'database_name');
// 사용자 목록을 얻으십시오
$query = mysqli_query($connection, "SELECT * FROM users");
$users = mysqli_fetch_all($query, MYSQLI_ASSOC);

채팅 메시지로드

<?php
// 현재 사용자를 얻으십시오ID
$user_id = $_SESSION['user_id'];

// 읽지 않은 메시지를 받으십시오
$query = mysqli_query($connection, "SELECT * FROM messages WHERE receiver_id = '$user_id' AND is_read = 0");
$unread_messages = mysqli_fetch_all($query, MYSQLI_ASSOC);

// 읽지 않은 메시지를 읽으십시오
foreach ($unread_messages as $message) {
    $message_id = $message['id'];
    mysqli_query($connection, "UPDATE messages SET is_read = 1 WHERE id = '$message_id'");
}

// 읽기 메시지를 받으십시오
$query = mysqli_query($connection, "SELECT * FROM messages WHERE receiver_id = '$user_id' AND is_read = 1");
$read_messages = mysqli_fetch_all($query, MYSQLI_ASSOC);

메시지 표시

<?php
// 읽지 않은 메시지를 표시하십시오
foreach ($unread_messages as $message) {
    echo "<div class='unread-message'> {$ 메시지 [ &#39;message&#39;]}</div> ";} // show show read message foreach ($ read_messages as $ message) {echo"<div class='read-message'> {$ 메시지 [ &#39;message&#39;]}</div> ";}

위의 코드에서는 먼저 데이터베이스에 연결하고 현재 사용자에 대해 읽지 않은 모든 메시지를받습니다. 그런 다음이 읽지 않은 메시지의 상태를 업데이트하여 읽고 읽지 않은 메시지를 각각 읽고 표시합니다.

요약

이 튜토리얼을 통해 PHP에서 라이브 채팅 함수의 메시지 읽기 및 읽지 않은 상태의 읽기 및 읽지 않은 상태 식별을 성공적으로 구현했습니다. 요구 사항이 변경됨에 따라 메시지 알림 또는 메시지 영수증과 같은 기능 추가와 같은 기능을 추가로 최적화하고 확장 할 수 있습니다.

위는 PHP 개발 실시간 채팅 기능에서 메시지의 읽기 및 읽지 않은 상태 식별을 구현하는 기본 방법입니다. 나는 그것이 당신의 개발 작업에 도움이되기를 바랍니다!