Home > Article > Backend Development > Use PHP to develop user tags and interest preference functions in the knowledge question and answer website.
Use PHP to develop user tags and interest preference functions in the knowledge question and answer website
In the knowledge question and answer website, the user tags and interest preference functions are very important. They can help websites better understand users' interests and needs, thereby providing more personalized and accurate recommendations. This article will introduce how to use PHP to develop user tags and interest preference functions in a knowledge question and answer website.
First, we need to create a database to store the user's tags and interest preference information. We can use a MySQL database and create a table named "users" to store user information, including fields such as user ID, user name, and password. In addition, we also need to create a table named "tags" to store tag information, including fields such as tag ID and tag name. Finally, we create a table named "user_tags" to establish the association between users and tags, including fields such as user ID and tag ID.
Next, we need to add tag and interest preference selection functions to the registration and login functions. When users register, we can ask them to select the tags they are interested in. After the user logs in, we can display the tags the user has selected and allow the user to modify or add new tags.
The following is a sample code for selecting tags and interest preferences when users register:
<!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>
After the user registers and submits the form, we can store the tag information selected by the user into the database in the "user_tags" table. The following is a sample code for processing user registration information and saving user-selected tag information:
<?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); } // 注册成功后的页面跳转(省略部分代码) ?>
In addition to using user tags and interest preference functions in the registration function, we can also use the home page after the user logs in Displays the tags selected by the user and provides relevant questions and article recommendations based on these tags. The following is a sample code to display the tags and recommended questions or articles that the user has selected:
<!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>
Through the above code example, we can implement the user tags and interest preference functions in the knowledge question and answer website. When users register, they can select the tags they are interested in and have related questions or article recommendations displayed on the home page. In this way, users can better browse and participate in content of interest, improving user experience and user satisfaction.
The above is the detailed content of Use PHP to develop user tags and interest preference functions in the knowledge question and answer website.. For more information, please follow other related articles on the PHP Chinese website!