Rumah > Artikel > pembangunan bahagian belakang > Membangunkan sejarah carian pengguna dan fungsi cadangan dalam laman web trivia menggunakan PHP.
Gunakan PHP untuk membangunkan sejarah carian pengguna dan fungsi pengesyoran dalam tapak web soal jawab pengetahuan
Dalam banyak tapak web soal jawab pengetahuan, sejarah carian pengguna dan fungsi pengesyoran adalah salah satu fungsi penting. Mereka boleh menyediakan pengalaman carian yang diperibadikan dan memudahkan pengguna mencari kandungan yang menarik minat mereka. Artikel ini meneroka cara untuk membangunkan ciri ini menggunakan PHP.
Pertama, kita perlu mencipta pangkalan data untuk menyimpan sejarah carian pengguna dan kandungan yang disyorkan. Kita boleh menggunakan MySQL atau pangkalan data hubungan lain untuk mencapai ini. Berikut ialah contoh struktur jadual sejarah carian mudah:
CREATE TABLE `search_history` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `keyword` varchar(255) NOT NULL, `search_time` datetime NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `keyword` (`keyword`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Seterusnya, kami akan menggunakan PHP untuk melaksanakan fungsi rakaman sejarah carian pengguna. Katakan kita sudah mempunyai pengguna yang log masuk ke dalam sistem, dan pengguna melakukan operasi carian selepas log masuk. Berikut ialah contoh kod:
// 假设用户已登录,获取用户ID $user_id = $_SESSION['user_id']; // 获取用户搜索关键词 $keyword = $_POST['keyword']; $search_time = date('Y-m-d H:i:s'); // 将搜索历史插入数据库 $query = "INSERT INTO search_history (user_id, keyword, search_time) VALUES ('$user_id', '$keyword', '$search_time')"; mysqli_query($connection, $query);
Kod di atas memasukkan kata kunci carian pengguna, ID pengguna dan masa carian ke dalam jadual search_history
pangkalan data.
Seterusnya, kami akan melaksanakan fungsi pengesyoran. Kandungan yang disyorkan boleh dijana berdasarkan sejarah carian pengguna dan gelagat carian pengguna lain. Berikut ialah contoh kod:
// 获取当前用户的搜索历史 $query = "SELECT keyword FROM search_history WHERE user_id = '$user_id'"; $result = mysqli_query($connection, $query); // 将搜索历史拼接为字符串,用于生成推荐内容 $search_history = ''; while ($row = mysqli_fetch_assoc($result)) { $search_history .= $row['keyword'] . ' '; } // 查询其他用户可能感兴趣的内容 $query = "SELECT keyword, COUNT(*) AS count FROM search_history WHERE user_id != '$user_id' AND keyword NOT IN ($search_history) GROUP BY keyword ORDER BY count DESC LIMIT 5"; $result = mysqli_query($connection, $query); // 输出推荐内容 while ($row = mysqli_fetch_assoc($result)) { echo $row['keyword'] . '<br>'; }
Kod di atas mula-mula memperoleh sejarah carian pengguna semasa dan menggabungkannya menjadi rentetan. Ia kemudian menanyakan pangkalan data untuk mencari kandungan yang mungkin diminati pengguna lain, menyusunnya dalam susunan menurun mengikut kiraan carian, hanya mengembalikan 5 kata kunci teratas.
Melalui contoh kod di atas, kami boleh menggunakan PHP untuk membangunkan sejarah carian pengguna dan fungsi pengesyoran dalam tapak web soal jawab pengetahuan. Dengan cara ini, kami boleh memberikan pengguna pengalaman carian yang diperibadikan dan memudahkan mereka mencari kandungan yang diminati. Sudah tentu, ini hanyalah contoh mudah dan anda boleh mengubah suai dan memanjangkannya mengikut keperluan sebenar anda.
Atas ialah kandungan terperinci Membangunkan sejarah carian pengguna dan fungsi cadangan dalam laman web trivia menggunakan PHP.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!