PHP implémente les fonctions d'historique de recherche de questions et de recommandation dans le site Web de questions et réponses de connaissances.

WBOY
Libérer: 2023-08-03 15:32:02
original
1468 Les gens l'ont consulté

PHP implémente les fonctions d'historique de recherche de questions et de recommandation dans le site Web de questions et réponses de connaissances.

Dans un site Web de questions et réponses de connaissances, les utilisateurs doivent souvent effectuer des recherches de questions pour trouver les réponses dont ils ont besoin. Afin d'améliorer l'expérience utilisateur, nous pouvons fournir aux utilisateurs une fonction d'historique de recherche afin que les utilisateurs puissent facilement visualiser les questions qu'ils ont recherchées auparavant, et nous pouvons également recommander des questions connexes aux utilisateurs via la fonction de recommandation. Ci-dessous, nous utiliserons PHP pour implémenter ces deux fonctions.

  1. Implémentation de la fonction d'historique de recherche de questions
    Afin d'implémenter la fonction d'historique de recherche, nous devons enregistrer les mots-clés de recherche dans la base de données chaque fois que l'utilisateur effectue une recherche de question. Les étapes spécifiques de mise en œuvre sont les suivantes :

1) Créez une table de données nommée "search_history", contenant deux champs : id et mot-clé.

CREATE TABLE search_history (

id INT AUTO_INCREMENT PRIMARY KEY,
keyword VARCHAR(255) NOT NULL
Copier après la connexion

);

2) Lorsque l'utilisateur soumet une recherche de questions, insérez les mots-clés de recherche saisis par l'utilisateur dans la table "search_history".

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 检查数据库连接
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 获取用户输入的搜索关键词
$keyword = $_POST["keyword"];

// 将搜索关键词插入到数据库中
$sql = "INSERT INTO search_history (keyword) VALUES ('$keyword')";
mysqli_query($conn, $sql);

// 关闭数据库连接
mysqli_close($conn);
Copier après la connexion

?>

3) Afficher l'historique de recherche : Récupérez les mots-clés précédemment recherchés par l'utilisateur dans la base de données et affichez-les sur la page.

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 检查数据库连接
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 从数据库中获取搜索历史
$sql = "SELECT keyword FROM search_history ORDER BY id DESC LIMIT 10";
$result = mysqli_query($conn, $sql);

// 显示搜索历史
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row["keyword"] . "<br>";
    }
} else {
    echo "没有搜索历史。";
}

// 关闭数据库连接
mysqli_close($conn);
Copier après la connexion

?>

  1. Implémentation de la fonction de recommandation de questions
    Afin d'implémenter la fonction de recommandation de questions, nous pouvons trouver des questions pertinentes dans la base de données en fonction des mots-clés de recherche actuels de l'utilisateur et recommander ces questions à utilisateurs. Les étapes spécifiques de mise en œuvre sont les suivantes :

1) Créez une table de données nommée "questions", contenant deux champs : id et content.

CRÉER des questions de TABLE (

id INT AUTO_INCREMENT PRIMARY KEY,
content VARCHAR(255) NOT NULL
Copier après la connexion

);

2) Une fois que l'utilisateur a soumis la recherche de questions, les mots-clés de recherche et les questions associées sont enregistrés dans la base de données.

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 检查数据库连接
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 获取用户输入的搜索关键词
$keyword = $_POST["keyword"];

// 查询相关的问题
$sql = "SELECT content FROM questions WHERE content LIKE '%$keyword%'";
$result = mysqli_query($conn, $sql);

// 将搜索关键词和相关问题保存到数据库中
while ($row = mysqli_fetch_assoc($result)) {
    $content = $row["content"];
    $sql = "INSERT INTO questions (content) VALUES ('$content')";
    mysqli_query($conn, $sql);
}

// 关闭数据库连接
mysqli_close($conn);
Copier après la connexion

?>

3) Obtenez des questions connexes de la base de données en fonction des mots-clés de recherche actuels de l'utilisateur et recommandez-les à l'utilisateur.

// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 检查数据库连接
if (!$conn) {
    die("数据库连接失败: " . mysqli_connect_error());
}

// 获取用户输入的搜索关键词
$keyword = $_POST["keyword"];

// 查询相关的问题
$sql = "SELECT content FROM questions WHERE content LIKE '%$keyword%'";
$result = mysqli_query($conn, $sql);

// 显示推荐的问题
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo $row["content"] . "<br>";
    }
} else {
    echo "没有相关的问题。";
}

// 关闭数据库连接
mysqli_close($conn);
Copier après la connexion

?>

Grâce aux exemples de code ci-dessus, nous pouvons implémenter des fonctions d'historique de recherche de questions et de recommandation dans le site Web de questions et réponses de connaissances, améliorer l'expérience utilisateur et aider les utilisateurs à trouver plus rapidement les réponses dont ils ont besoin. . Bien entendu, il ne s’agit que d’un exemple simple et d’autres facteurs doivent être pris en compte dans les applications réelles, tels que l’optimisation des algorithmes de recherche et l’amélioration des performances des bases de données. Cependant, j'espère que cet article pourra vous fournir une idée de base et une méthode de mise en œuvre.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!