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 :
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
<?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(); ?>
4. Code frontal du mini programme
"request": { "domain": "your_website_url", "tlsVersion": "1.2", "timeout": 5000, "method": "GET" }
<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>
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
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!