라이브 채팅은 현대적인 소셜 애플리케이션 및 웹 사이트에서 필수 기능이되었습니다. 이 기능을 개발할 때 사용자가 읽은 메시지와 읽지 않은 메시지를 명확하게 확인할 수 있도록하는 것이 매우 중요한 요구 사항입니다. 이 기사에서는 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'> {$ 메시지 [ 'message']}</div> ";} // show show read message foreach ($ read_messages as $ message) {echo"<div class='read-message'> {$ 메시지 [ 'message']}</div> ";}
위의 코드에서는 먼저 데이터베이스에 연결하고 현재 사용자에 대해 읽지 않은 모든 메시지를받습니다. 그런 다음이 읽지 않은 메시지의 상태를 업데이트하여 읽고 읽지 않은 메시지를 각각 읽고 표시합니다.
이 튜토리얼을 통해 PHP에서 라이브 채팅 함수의 메시지 읽기 및 읽지 않은 상태의 읽기 및 읽지 않은 상태 식별을 성공적으로 구현했습니다. 요구 사항이 변경됨에 따라 메시지 알림 또는 메시지 영수증과 같은 기능 추가와 같은 기능을 추가로 최적화하고 확장 할 수 있습니다.
위는 PHP 개발 실시간 채팅 기능에서 메시지의 읽기 및 읽지 않은 상태 식별을 구현하는 기본 방법입니다. 나는 그것이 당신의 개발 작업에 도움이되기를 바랍니다!