Maison >développement back-end >tutoriel php >Questions et réponses en ligne et mise en œuvre de la base de connaissances de PHP et de mini-programmes

Questions et réponses en ligne et mise en œuvre de la base de connaissances de PHP et de mini-programmes

WBOY
WBOYoriginal
2023-07-04 08:05:431548parcourir

Questions et réponses en ligne et mise en œuvre d'une base de connaissances sur PHP et des mini-programmes

Avec le développement de l'Internet mobile, les mini-programmes sont devenus une forme très populaire d'applications mobiles. Les questions, réponses et bases de connaissances sont des fonctionnalités communes à de nombreux sites Web et applications. Elles permettent aux utilisateurs de trouver rapidement les informations dont ils ont besoin et de résoudre les problèmes. Cet article explique comment utiliser PHP et de petits programmes pour implémenter des fonctions de questions-réponses et de base de connaissances en ligne.

1. Préparation
Avant de commencer, nous devons préparer le travail suivant :

  1. Installer l'environnement PHP et la base de données MySQL ;
  2. Créer une table de base de données pour stocker les données de questions-réponses ;
  3. Créer un petit projet de programme à l'aide d'un petit programme ; outils de développement .

2. Créer une table de base de données
Nous devons créer une table de base de données pour stocker les données des questions et des réponses. Dans la base de données MySQL, vous pouvez exécuter l'instruction SQL suivante pour créer une table de données nommée « qa » :

CREATE TABLE `qa` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `question` varchar(255) NOT NULL,
  `answer` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

La table contient trois champs : id (l'identifiant unique de la question et de la réponse), question (question), réponse ( répondre) ).

3. Code backend PHP

  1. Créez un fichier PHP nommé "qa.php" et écrivez le code suivant :
<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "123456";
$dbname = "your_database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 处理请求接口
$action = $_GET['action'];
if ($action == 'getQuestions') {
    // 获取问题列表
    $sql = "SELECT * FROM `qa`";
    $result = $conn->query($sql);
    $questions = array();
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $questions[] = array(
                'id' => $row['id'],
                'question' => $row['question'],
                'answer' => $row['answer']
            );
        }
    }
    echo json_encode($questions);
} else if ($action == 'addQuestion') {
    // 添加问题
    $question = $_POST['question'];
    $answer = $_POST['answer'];
    $sql = "INSERT INTO `qa` (`question`, `answer`) VALUES ('$question', '$answer')";
    if ($conn->query($sql) === TRUE) {
        echo 'success';
    } else {
        echo 'error';
    }
} else if ($action == 'deleteQuestion') {
    // 删除问题
    $id = $_POST['id'];
    $sql = "DELETE FROM `qa` WHERE `id` = $id";
    if ($conn->query($sql) === TRUE) {
        echo 'success';
    } else {
        echo 'error';
    }
}

$conn->close();
?>
  1. Placez le fichier "qa.php" écrit ci-dessus dans votre environnement PHP dans le répertoire racine du site Web. .

4. Code frontal du mini programme

  1. Ouvrez l'outil de développement du mini programme, recherchez le fichier "app.json" dans le répertoire du projet et ajoutez le code suivant (remplacez "your_website_url" par l'adresse de votre site Web) :
"request": {
    "domain": "your_website_url",
    "tlsVersion": "1.2",
    "timeout": 5000,
    "method": "GET"
}
  1. Créez une page nommée "index" et écrivez le code suivant :
<view class="container">
    <view class="title">在线问答与知识库</view>
    <view class="form">
        <input placeholder="请输入问题" bindinput="inputQuestion" />
        <input placeholder="请输入答案" bindinput="inputAnswer" />
        <button bindtap="addQuestion">添加问题</button>
    </view>
    <view class="list">
        <view wx:for="{{questionList}}" wx:key="id" class="item">
            <view class="question">{{item.question}}</view>
            <view class="answer">{{item.answer}}</view>
            <button bindtap="deleteQuestion">删除</button>
        </view>
    </view>
</view>
  1. Écrivez le code suivant dans le fichier "index.js" :
Page({
  data: {
    questionList: [],
    question: '',
    answer: ''
  },

  onLoad: function () {
    this.getQuestionList();
  },

  getQuestionList: function () {
    wx.request({
      url: 'your_website_url/qa.php?action=getQuestions',
      success: (res) => {
        this.setData({
          questionList: res.data
        })
      }
    })
  },

  inputQuestion: function (e) {
    this.setData({
      question: e.detail.value
    })
  },

  inputAnswer: function (e) {
    this.setData({
      answer: e.detail.value
    })
  },

  addQuestion: function () {
    wx.request({
      url: 'your_website_url/qa.php?action=addQuestion',
      method: 'POST',
      data: {
        question: this.data.question,
        answer: this.data.answer
      },
      success: (res) => {
        if (res.data == 'success') {
          this.getQuestionList();
          this.setData({
            question: '',
            answer: ''
          })
        }
      }
    })
  },

  deleteQuestion: function (e) {
    var id = e.currentTarget.dataset.id;
    wx.request({
      url: 'your_website_url/qa.php?action=deleteQuestion',
      method: 'POST',
      data: {
        id: id
      },
      success: (res) => {
        if (res.data == 'success') {
          this.getQuestionList();
        }
      }
    })
  }
})

5. Testez

  1. Utilisez l'applet outil de développement pour prévisualiser le programme applet, vous pouvez voir une interface simple de liste de questions et réponses ;
  2. Entrez la question et la réponse, cliquez sur le bouton "Ajouter une question", la question sera ajoutée à la base de données ;
  3. Cliquez sur "Supprimer" ; " à droite de la question, la question sera supprimée de la base de données.

Grâce aux étapes ci-dessus, nous avons mis en œuvre avec succès une simple fonction de questions-réponses et de base de connaissances en ligne. Les utilisateurs peuvent facilement parcourir et ajouter des questions dans le mini-programme. Bien entendu, il ne s’agit que d’une implémentation de base et vous pouvez l’étendre et l’optimiser en fonction de vos besoins. J'espère que cet article pourra être utile au développement de PHP et de petits programmes !

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