PHP는 실시간 채팅 기능을 위한 메시지 읽음 및 읽지 않음 상태 식별을 개발합니다.
현대 소셜 애플리케이션과 웹사이트에서 실시간 채팅 기능은 필수적인 부분이 되었습니다. 이 기능을 개발할 때 중요한 기능은 메시지의 읽은 상태와 읽지 않은 상태를 식별하는 기능이었습니다. 이 기사에서는 PHP를 사용하여 실시간 채팅 기능을 개발하고 메시지에 대한 읽음 및 읽지 않음 상태 표시기를 추가하는 방법을 소개합니다.
이 기능을 구현하기 위해 MySQL 데이터베이스를 사용하여 사용자 정보 및 메시지 기록을 저장합니다. 다음은 생성해야 하는 두 개의 데이터베이스 테이블입니다.
users 테이블:
CREATE TABLE users ( id INT(11) AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL );
messages 테이블:
CREATE TABLE messages ( id INT(11) AUTO_INCREMENT PRIMARY KEY, sender_id INT(11) NOT NULL, receiver_id INT(11) NOT NULL, message TEXT, is_read TINYINT(1) DEFAULT 0 );
user 테이블에는 사용자 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);
읽지 않은 메시지 표시 and read message
<?php // 显示未读消息 foreach ($unread_messages as $message) { echo "<div class='unread-message'>{$message['message']}</div>"; } // 显示已读消息 foreach ($read_messages as $message) { echo "<div class='read-message'>{$message['message']}</div>"; }
위 코드에서는 먼저 데이터베이스에 연결하여 모든 사용자 목록을 가져옵니다. 그런 다음 채팅 메시지를 로드할 때 현재 사용자의 읽지 않은 메시지를 데이터베이스에서 가져와 읽음으로 표시합니다. 마지막으로 읽지 않은 메시지와 읽은 메시지를 별도로 표시합니다.
위의 예를 통해 메시지의 읽음 및 읽지 않음 상태 식별 기능을 성공적으로 구현했습니다. 사용자가 새 메시지를 받으면 읽지 않은 것으로 표시되고, 사용자가 메시지를 본 후에는 읽은 것으로 표시됩니다.
이 기능을 개선하기 위해 새로운 메시지 알림을 추가하거나 메시지 전송 확인을 추가하는 등 실제 필요에 따라 추가 개선을 할 수 있습니다. 그러나 위의 구현은 우리에게 PHP를 사용하여 실시간 채팅 기능에서 메시지 읽음 및 읽지 않음 상태 식별을 개발할 수 있는 좋은 기반을 제공했습니다.
위 내용은 PHP는 실시간 채팅 기능을 위한 메시지 읽기 및 읽지 않음 상태 식별을 개발합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!