Online-Fragen und Antworten und Wissensdatenbank-Implementierung von PHP und Miniprogrammen
Mit der Entwicklung des mobilen Internets sind Miniprogramme zu einer sehr beliebten Form mobiler Anwendungen geworden. Fragen und Antworten sowie Wissensdatenbanken sind in vielen Websites und Anwendungen üblich. Sie ermöglichen es Benutzern, schnell die benötigten Informationen zu finden und Probleme zu lösen. In diesem Artikel wird erläutert, wie Sie mithilfe von PHP und kleinen Programmen Online-Fragen und -Antworten sowie Wissensdatenbankfunktionen implementieren.
1. Vorbereitung
Bevor wir beginnen, müssen wir die folgenden Arbeiten vorbereiten:
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;
3. PHP-Backend-Code
Erstellen Sie eine PHP-Datei mit dem Namen „qa.php“ und schreiben Sie den folgenden Code:<?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(); ?>
"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(); } } }) } })
Das obige ist der detaillierte Inhalt vonOnline-Fragen und Antworten sowie Wissensdatenbank-Implementierung von PHP und Miniprogrammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!