PHPは知識問答サイトに質問の検索履歴やレコメンド機能を実装しています。

WBOY
リリース: 2023-08-03 15:32:02
オリジナル
1491 人が閲覧しました

PHP は、知識質問と回答の Web サイトに質問の検索履歴とレコメンデーション機能を実装します。

知識に関する質問と回答の Web サイトでは、ユーザーは多くの場合、必要な回答を見つけるために質問検索を実行する必要があります。ユーザーエクスペリエンスを向上させるために、ユーザーが以前に検索した質問を簡単に閲覧できる検索履歴機能や、レコメンド機能を通じて関連する質問をユーザーに推奨することができます。以下では、PHP を使用してこれら 2 つの関数を実装します。

  1. 質問検索履歴機能の実装
    検索履歴機能を実装するには、ユーザーが質問検索を行うたびに検索キーワードをデータベースに保存する必要があります。具体的な実装手順は次のとおりです。

1) ID とキーワードの 2 つのフィールドを含む、「search_history」という名前のデータ テーブルを作成します。

CREATE TABLE search_history (

id INT AUTO_INCREMENT PRIMARY KEY,
keyword VARCHAR(255) NOT NULL
ログイン後にコピー

);

2) ユーザーが質問検索を送信するときに、ユーザーが入力した検索キーワードを「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);
ログイン後にコピー

?>

3) 検索履歴の表示: ユーザーが以前に検索したキーワードをデータベースから取得し、ページ上に表示します。

// 连接数据库
$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);
ログイン後にコピー

?>

  1. 質問レコメンド機能の実装
    質問レコメンド機能を実装するには、次のようにします。ユーザーの現在の検索キーワード、データベース内で関連する質問を検索し、これらの質問をユーザーに推奨します。具体的な実装手順は次のとおりです。

1) id と content の 2 つのフィールドを含む、「questions」という名前のデータ テーブルを作成します。

CREATE TABLE question (

id INT AUTO_INCREMENT PRIMARY KEY,
content VARCHAR(255) NOT NULL
ログイン後にコピー

);

2) ユーザーが質問検索を送信すると、検索キーワードと関連する質問がデータベースに保存されます。

// 连接数据库
$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);
ログイン後にコピー

?>

3) ユーザーの現在の検索キーワードに基づいて、関連する質問をデータベースから取得し、ユーザーに推奨します。

// 连接数据库
$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);
ログイン後にコピー

?>

上記のコード例を通じて、知識の質問と回答の Web サイトに質問の検索履歴と推奨機能を実装して、改善を図ることができます。ユーザー エクスペリエンス 。ユーザーが必要な答えをより早く見つけられるようにします。もちろん、これは単なる例であり、実際のアプリケーションでは、検索アルゴリズムの最適化やデータベースのパフォーマンスの向上など、さらに多くの要素を考慮する必要があります。ただし、この記事が基本的な考え方と実装方法を提供できれば幸いです。

以上がPHPは知識問答サイトに質問の検索履歴やレコメンド機能を実装しています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート