PHP implémente les fonctions de collecte et de partage de questions-réponses sur le site Web de questions-réponses de connaissances.

王林
Libérer: 2023-07-01 19:02:01
original
1269 Les gens l'ont consulté

PHP réalise les fonctions de collecte et de partage des questions-réponses sur le site Web de questions et réponses de connaissances

1 Contexte
Avec le développement rapide d'Internet, le site Web de questions et réponses de connaissances est progressivement devenu une plate-forme importante permettant aux personnes d'acquérir des connaissances et des réponses. échanger des expériences. Sur un tel site, les utilisateurs peuvent publier leurs propres questions et d'autres utilisateurs peuvent répondre à ces questions. Afin d'offrir une meilleure expérience utilisateur, nous présenterons dans cet article comment utiliser PHP pour implémenter les fonctions de collecte et de partage de questions-réponses dans le site Web de questions-réponses de connaissances.

2. Mise en œuvre de la fonction de collecte de questions et réponses
Dans le site Web de questions et réponses de connaissances, les utilisateurs peuvent collecter les réponses aux questions et réponses qui les intéressent pour une consultation facile ultérieure. Voici un exemple de code pour implémenter la fonction de collecte de questions-réponses :

  1. Tout d'abord, nous devons créer une table de base de données pour stocker les informations de collecte de l'utilisateur. Vous pouvez créer une table nommée "signets" avec les champs suivants :

    CREATE TABLE bookmarks (
     id INT AUTO_INCREMENT PRIMARY KEY,
     user_id INT,
     answer_id INT,
     created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    Copier après la connexion
  2. Une fois l'utilisateur connecté, obtenez l'ID de l'utilisateur via le mécanisme de session PHP, puis insérez l'ID utilisateur et l'ID de réponse à la question dans la table "signets". Medium :

    // 获取当前用户的 ID
    $userId = $_SESSION['user_id'];
    
    // 获取问题答案的 ID
    $answerId = $_GET['answer_id'];
    
    // 插入数据到数据库表中
    $query = "INSERT INTO bookmarks (user_id, answer_id) VALUES ($userId, $answerId)";
    $result = mysqli_query($connection, $query);
    Copier après la connexion
  3. Lorsqu'un utilisateur a besoin de visualiser les réponses à ses questions préférées, nous pouvons interroger la table de la base de données en fonction de l'identifiant de l'utilisateur et afficher les réponses aux questions pertinentes :

    // 获取当前用户的 ID
    $userId = $_SESSION['user_id'];
    
    // 查询数据库表,获取用户收藏的问题答案
    $query = "SELECT * FROM bookmarks WHERE user_id = $userId";
    $result = mysqli_query($connection, $query);
    
    // 循环显示问题答案
    while ($row = mysqli_fetch_assoc($result)) {
     $answerId = $row['answer_id'];
    
     // 根据答案的 ID 查询相关的问题答案信息,并显示在页面上
     $query = "SELECT * FROM answers WHERE id = $answerId";
     $answerResult = mysqli_query($connection, $query);
    
     // 显示问题答案信息
     $answerRow = mysqli_fetch_assoc($answerResult);
     echo $answerRow['content'];
    }
    Copier après la connexion

3. Mise en œuvre du fonction de partage de questions et de réponses
De plus, collectez les réponses aux questions et les utilisateurs peuvent également partager les réponses aux questions qu'ils jugent utiles pour les autres utilisateurs. Voici un exemple de code pour implémenter la fonction de partage de question-réponse :

  1. Sur la page de réponse à la question, nous pouvons ajouter un bouton "Partager", déclencher la fonction JavaScript lorsque le bouton est cliqué et envoyer l'ID de réponse à la question à via requête AJAX Côté serveur :

    <button onclick="shareAnswer(<?php echo $answerId ?>)">分享</button>
    
    <script>
    function shareAnswer(answerId) {
     // 发送 AJAX 请求
     var xhr = new XMLHttpRequest();
     xhr.open('POST', 'share.php');
     xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     xhr.onload = function() {
         if (xhr.status === 200) {
             alert('问题答案分享成功!');
         } else {
             alert('问题答案分享失败!');
         }
     };
     xhr.send('answer_id=' + answerId);
    }
    </script>
    Copier après la connexion
  2. Côté serveur, obtenez l'ID de la réponse à la question via PHP et insérez-le dans une table de base de données appelée "shares" :

    // 获取问题答案的 ID
    $answerId = $_POST['answer_id'];
    
    // 插入数据到数据库表中
    $query = "INSERT INTO shares (answer_id) VALUES ($answerId)";
    $result = mysqli_query($connection, $query);
    if ($result) {
     echo 'success';
    } else {
     echo 'failure';
    }
    Copier après la connexion
  3. Lorsque d'autres utilisateurs voient la réponse à la question, nous Il peut afficher le nombre de fois où la réponse à cette question a été partagée :

    // 获取问题答案的 ID
    $answerId = $_GET['answer_id'];
    
    // 查询数据库表,获取问题答案的分享次数
    $query = "SELECT COUNT(*) AS shares_count FROM shares WHERE answer_id = $answerId";
    $result = mysqli_query($connection, $query);
    $row = mysqli_fetch_assoc($result);
    
    // 显示问题答案的分享次数
    echo $row['shares_count'] . "次分享";
    Copier après la connexion

4. Résumé
Grâce à l'exemple de code ci-dessus, nous pouvons implémenter les fonctions de collecte et de partage des réponses aux questions dans le site Web de questions-réponses de connaissances. La fonction de collecte permet aux utilisateurs de sauvegarder les réponses aux questions qui les intéressent pour les consulter ultérieurement ; la fonction de partage permet aux utilisateurs de transmettre des questions et réponses précieuses à d'autres utilisateurs. La mise en œuvre de ces fonctions est très importante pour améliorer l'expérience utilisateur du site Web de questions et réponses sur les connaissances, et facilite également la communication et le partage entre les utilisateurs. J'espère que cet article pourra être utile aux développeurs !

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!

Étiquettes associées:
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!