Maison  >  Article  >  développement back-end  >  Utilisez PHP pour développer l'historique de navigation des questions et les fonctions d'enregistrement sur le site Web de questions et réponses de connaissances.

Utilisez PHP pour développer l'historique de navigation des questions et les fonctions d'enregistrement sur le site Web de questions et réponses de connaissances.

王林
王林original
2023-07-02 08:51:091376parcourir

Utilisez PHP pour développer l'historique de navigation des questions et les fonctions d'enregistrement sur le site Web de questions-réponses

Introduction :
Le site Web de questions-réponses est l'un des types de sites Web les plus populaires sur Internet aujourd'hui. Afin d'améliorer l'expérience utilisateur, nous pouvons ajouter un historique de navigation problématique et des fonctions d'enregistrement à ce type de site Web. Cet article décrira comment utiliser PHP pour développer cette fonctionnalité afin d'aider les utilisateurs à visualiser plus facilement les questions qu'ils ont parcourues.

Exigences des fonctionnalités :

  • Une fois que les utilisateurs se sont connectés, ils peuvent afficher une liste des questions qu'ils ont récemment consultées, ce qui leur permet de réviser et de continuer plus facilement la lecture.
  • L'historique de navigation enregistrera les 10 questions les plus récentes de l'utilisateur. Lorsque ce nombre est dépassé, l'enregistrement le plus ancien sera supprimé.

Processus de mise en œuvre :

  1. Conception de la base de données
    Tout d'abord, nous devons créer une table de données pour stocker l'historique de navigation. Nous pouvons le faire en utilisant une base de données MySQL. Créez une table de données nommée « history », contenant les champs suivants :
  2. id : enregistre l'identifiant unique, en utilisant une clé primaire auto-incrémentée.
  3. user_id : ID utilisateur, indiquant à quel utilisateur appartient l'enregistrement.
  4. question_id : ID de la question, indiquant la question de navigation.
  5. timestamp : L'horodatage de l'enregistrement, utilisé pour trier et limiter le nombre maximum d'enregistrements.
CREATE TABLE history (
  id INT AUTO_INCREMENT PRIMARY KEY,
  user_id INT,
  question_id INT,
  timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  1. Implémentation du code PHP
    Ensuite, nous implémenterons l'historique de navigation et les fonctions d'enregistrement via le code PHP.
// 设置数据库连接
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 获取当前登录用户的 ID
$user_id = $_SESSION['user_id'];

// 获取用户最近浏览的问题记录
$query = "SELECT * FROM history WHERE user_id = $user_id ORDER BY timestamp DESC LIMIT 10";
$result = $conn->query($query);

// 显示浏览历史记录
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $question_id = $row['question_id'];
        
        // 根据问题 ID 查询问题详情并显示
        $query_question = "SELECT * FROM questions WHERE id = $question_id";
        $result_question = $conn->query($query_question);
        
        if ($result_question->num_rows > 0) {
            while($row_question = $result_question->fetch_assoc()) {
                echo $row_question['title'];
                echo "<br>";
                echo $row_question['content'];
                echo "<br><br>";
            }
        }
    }
} else {
    echo "还没有浏览历史记录";
}

// 关闭数据库连接
$conn->close();

Le code ci-dessus se connecte d'abord à la base de données, puis obtient l'ID de l'utilisateur actuellement connecté. Ensuite, l'historique de navigation récent de l'utilisateur est interrogé dans la base de données, et les détails du problème sont interrogés et affichés en fonction de l'ID du problème. Fermez enfin la connexion à la base de données.

Résumé :
Cet article présente, à travers des exemples de code PHP, comment utiliser PHP pour développer l'historique de navigation des questions et les fonctions d'enregistrement dans un site Web de questions et réponses de connaissances. Des fonctionnalités comme celle-ci améliorent l’expérience utilisateur et permettent aux utilisateurs de visualiser plus facilement les questions qu’ils ont consultées. Grâce à la conception de bases de données et à l’implémentation de code PHP, nous pouvons facilement implémenter cette fonctionnalité. J'espère que cet article sera utile aux développeurs PHP et aux développeurs de sites Web ayant des besoins similaires.

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!

Déclaration:
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