ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して、知識の質問と回答の Web サイトでユーザー タグと興味の優先機能を開発します。

PHP を使用して、知識の質問と回答の Web サイトでユーザー タグと興味の優先機能を開発します。

王林
王林オリジナル
2023-07-02 17:36:071058ブラウズ

PHP を使用して、知識の質問と回答の Web サイトでユーザー タグと興味の好みの関数を開発する

知識の質問と回答の Web サイトでは、ユーザーのタグと興味の好みの関数は非常に重要です。これらは、Web サイトがユーザーの興味やニーズをより深く理解し、よりパーソナライズされた正確な推奨事項を提供するのに役立ちます。この記事では、PHP を使用して、知識の質問と回答の Web サイトでユーザー タグと興味の好みの関数を開発する方法を紹介します。

まず、ユーザーのタグと興味の好みの情報を保存するデータベースを作成する必要があります。 MySQL データベースを使用して、ユーザー ID、ユーザー名、パスワードなどのフィールドを含むユーザー情報を保存する「users」という名前のテーブルを作成できます。さらに、タグ ID やタグ名などのフィールドを含むタグ情報を保存するために、「tags」という名前のテーブルを作成する必要もあります。最後に、「user_tags」という名前のテーブルを作成して、ユーザーとタグ (ユーザー ID やタグ ID などのフィールドを含む) の間の関連付けを確立します。

次に、登録機能とログイン機能に、タグと興味の嗜好選択機能を追加する必要があります。ユーザーが登録するときに、興味のあるタグを選択するように依頼できます。ユーザーがログインすると、ユーザーが選択したタグが表示され、ユーザーが新しいタグを変更または追加できるようになります。

以下は、ユーザー登録時にタグと興味の設定を選択するためのサンプル コードです:

<!DOCTYPE html>
<html>
<head>
    <title>用户注册</title>
</head>
<body>
    <h2>用户注册</h2>
    <form action="register.php" method="post">
        <label for="username">用户名:</label>
        <input type="text" name="username" id="username" required><br><br>
        <label for="password">密码:</label>
        <input type="password" name="password" id="password" required><br><br>
        <label for="interests[]">兴趣偏好:</label><br>
        <?php
            // 获取数据库中的标签信息
            $sql = "SELECT * FROM tags";
            $result = mysqli_query($conn, $sql);

            // 显示标签选项
            while ($row = mysqli_fetch_assoc($result)) {
                echo '<input type="checkbox" name="interests[]" value="' . $row['tag_id'] . '">' . $row['tag_name'] . '<br>';
            }
        ?>
        <br>
        <input type="submit" value="注册">
    </form>
</body>
</html>

ユーザーが登録してフォームを送信した後、ユーザーが選択したタグ情報を「user_tags」テーブル内のデータベース。以下は、ユーザー登録情報を処理し、ユーザーが選択したタグ情報を保存するためのサンプル コードです。

<?php
    // 获取用户注册信息
    $username = $_POST['username'];
    $password = $_POST['password'];
    $interests = $_POST['interests'];

    // 将用户注册信息插入数据库中的 "users" 表(省略部分代码)

    // 获取最新插入的用户ID
    $user_id = mysqli_insert_id($conn);

    // 将用户选择的标签插入数据库中的 "user_tags" 表
    foreach ($interests as $tag_id) {
        $sql = "INSERT INTO user_tags (user_id, tag_id) VALUES ('" . $user_id . "', '" . $tag_id . "')";
        mysqli_query($conn, $sql);
    }

    // 注册成功后的页面跳转(省略部分代码)
?>

登録関数では、ユーザー タグと興味嗜好関数を使用することに加えて、登録後のホーム ページも使用できます。ユーザー ログイン ユーザーが選択したタグが表示され、これらのタグに基づいて関連する質問と記事の推奨事項が提供されます。以下は、ユーザーが選択したタグと推奨される質問または記事を表示するサンプル コードです:

<!DOCTYPE html>
<html>
<head>
    <title>用户首页</title>
</head>
<body>
    <h2>用户首页</h2>
    <?php
        // 获取用户已选择的标签
        $user_id = $_SESSION['user_id']; // 获取当前用户ID
        $sql = "SELECT t.tag_name FROM tags AS t INNER JOIN user_tags AS ut ON t.tag_id = ut.tag_id WHERE ut.user_id = '" . $user_id . "'";
        $result = mysqli_query($conn, $sql);

        // 显示用户已选择的标签
        echo '<p>您的兴趣爱好:</p>';
        while ($row = mysqli_fetch_assoc($result)) {
            echo $row['tag_name'] . ', ';
        }

        // 显示根据用户标签推荐的问题或文章(省略部分代码)
    ?>
</body>
</html>

上記のコード例を通じて、ナレッジの質問と回答にユーザー タグと興味の優先機能を実装できます。 Webサイト。ユーザーが登録すると、興味のあるタグを選択すると、関連する質問や記事の推奨がホームページに表示されます。これにより、ユーザーは興味のあるコンテンツをより適切に閲覧して参加できるようになり、ユーザー エクスペリエンスとユーザー満足度が向上します。

以上がPHP を使用して、知識の質問と回答の Web サイトでユーザー タグと興味の優先機能を開発します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。