PHP membangunkan pengenalan status mesej dibaca dan belum dibaca untuk fungsi sembang masa nyata
Dalam aplikasi dan tapak web sosial moden, fungsi sembang masa nyata telah menjadi bahagian penting. Apabila membangunkan fungsi ini, ciri penting ialah keupayaan untuk mengenal pasti status mesej yang dibaca dan belum dibaca. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan fungsi sembang masa nyata dan menambah penunjuk status baca dan belum dibaca untuk mesej.
Untuk melaksanakan fungsi ini, kami akan menggunakan pangkalan data MySQL untuk menyimpan maklumat pengguna dan rekod mesej. Berikut ialah dua jadual pangkalan data yang perlu kami buat:
jadual pengguna:
CREATE TABLE users ( id INT(11) AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL );
jadual mesej:
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 );
Jadual pengguna mengandungi ID pengguna dan nama pengguna, dan jadual mesej mengandungi ID mesej, ID pengirim dan ID penerima , kandungan mesej dan status baca.
Seterusnya, kami akan menunjukkan cara melaksanakan pengenalpastian status dibaca dan belum dibaca bagi mesej dengan kod contoh berikut:
Dapatkan senarai semua pengguna
<?php // 连接到数据库 $connection = mysqli_connect('localhost', 'username', 'password', 'database_name'); // 获取用户列表 $query = mysqli_query($connection, "SELECT * FROM users"); $users = mysqli_fetch_all($query, MYSQLI_ASSOC);
Muat mesej sembang
rreee<?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);
Atas ialah kandungan terperinci PHP membangunkan pengenalan status dibaca dan belum dibaca mesej untuk fungsi sembang masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!