Soal Jawab dalam talian dan pelaksanaan pangkalan pengetahuan PHP dan program mini
Dengan pembangunan Internet mudah alih, program mini telah menjadi satu bentuk aplikasi mudah alih yang sangat popular. Soalan dan jawapan serta pangkalan pengetahuan adalah ciri biasa dalam banyak tapak web dan aplikasi Mereka membolehkan pengguna mencari maklumat yang mereka perlukan dengan cepat dan menyelesaikan masalah. Artikel ini akan memperkenalkan cara menggunakan PHP dan program kecil untuk melaksanakan Soal Jawab dalam talian dan fungsi asas pengetahuan.
1. Persediaan
Sebelum kita mula, kita perlu menyediakan kerja berikut:
2. Buat jadual pangkalan data
Kita perlu buat jadual pangkalan data untuk menyimpan data soalan dan jawapan. Dalam pangkalan data MySQL, anda boleh melaksanakan pernyataan SQL berikut untuk mencipta jadual data bernama "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;
Jadual mengandungi tiga medan: id (pengenalan unik soalan dan jawapan), soalan (soalan), jawapan (jawapan) ).
3. Kod 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. Kod bahagian hadapan program mini
"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. Test run
Atas ialah kandungan terperinci Soal Jawab dalam talian dan pelaksanaan asas pengetahuan PHP dan program mini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!