Utilisez PHP pour développer des fonctions d'historique de recherche et de recommandation des utilisateurs dans les sites Web de questions et réponses de connaissances
Dans de nombreux sites Web de questions et réponses de connaissances, l'historique de recherche des utilisateurs et les fonctions de recommandation sont l'une des fonctions importantes. Ils peuvent offrir une expérience de recherche personnalisée et permettre aux utilisateurs de trouver plus facilement le contenu qui les intéresse. Cet article explique comment développer ces fonctionnalités à l'aide de PHP.
Tout d'abord, nous devons créer une base de données pour stocker l'historique de recherche de l'utilisateur et le contenu recommandé. Nous pouvons utiliser MySQL ou d'autres bases de données relationnelles pour y parvenir. Voici un exemple de structure simple de table d'historique de recherche :
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;
Ensuite, nous utiliserons PHP pour implémenter la fonction d'enregistrement de l'historique de recherche des utilisateurs. Supposons qu'un utilisateur soit déjà connecté au système et que l'utilisateur effectue une opération de recherche après s'être connecté. Voici un exemple de code :
// 假设用户已登录,获取用户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);
Le code ci-dessus insère les mots-clés de recherche de l'utilisateur, l'ID utilisateur et le temps de recherche dans la table search_history
de la base de données.
Ensuite, nous implémenterons la fonction de recommandation. Le contenu recommandé peut être généré sur la base de l'historique de recherche de l'utilisateur et du comportement de recherche des autres utilisateurs. Voici un exemple de code :
// 获取当前用户的搜索历史 $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>'; }
Le code ci-dessus obtient d'abord l'historique de recherche de l'utilisateur actuel et le concatène en une chaîne. Il interroge ensuite la base de données pour trouver le contenu susceptible d'intéresser d'autres utilisateurs, en le triant par ordre décroissant par nombre de recherches, en renvoyant uniquement les 5 principaux mots-clés.
Grâce à l'exemple de code ci-dessus, nous pouvons utiliser PHP pour développer l'historique de recherche des utilisateurs et les fonctions de recommandation dans le site Web de questions et réponses de connaissances. De cette manière, nous pouvons offrir aux utilisateurs une expérience de recherche personnalisée et leur permettre de trouver plus facilement du contenu qui les intéresse. Bien entendu, ce n’est qu’un exemple simple et vous pouvez le modifier et l’étendre en fonction de vos besoins réels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!