Heim >Backend-Entwicklung >PHP-Tutorial >Online-Fragen und Antworten sowie Wissensdatenbank-Implementierung von PHP und Miniprogrammen

Online-Fragen und Antworten sowie Wissensdatenbank-Implementierung von PHP und Miniprogrammen

WBOY
WBOYOriginal
2023-07-04 08:05:431548Durchsuche

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:

  1. Installieren Sie die PHP-Umgebung und die MySQL-Datenbank;
  2. Erstellen Sie ein kleines Programmprojekt mit einem kleinen Programm Entwicklungstools.
  3. 2. Erstellen Sie eine Datenbanktabelle
Wir müssen eine Datenbanktabelle erstellen, um die Daten von Fragen und Antworten zu speichern. In der MySQL-Datenbank können Sie die folgende SQL-Anweisung ausführen, um eine Datentabelle mit dem Namen „qa“ zu erstellen:

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;

Die Tabelle enthält drei Felder: ID (eindeutige Identifizierung von Fragen und Antworten), Frage (Frage), Antwort (Antwort) ).

3. PHP-Backend-Code

Erstellen Sie eine PHP-Datei mit dem Namen „qa.php“ und schreiben Sie den folgenden Code:
  1. <?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();
    ?>
Legen Sie die oben beschriebene Datei „qa.php“ in Ihre PHP-Umgebung im Stammverzeichnis der Website .
  1. 4. Miniprogramm-Frontend-Code

Öffnen Sie das Miniprogramm-Entwicklungstool, suchen Sie die Datei „app.json“ im Projektverzeichnis und fügen Sie den folgenden Code hinzu (ersetzen Sie „your_website_url“ durch Ihre Website-Adresse):
  1. "request": {
        "domain": "your_website_url",
        "tlsVersion": "1.2",
        "timeout": 5000,
        "method": "GET"
    }
Erstellen Sie eine Seite mit dem Namen „index“ und schreiben Sie den folgenden Code:
  1. <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>
Schreiben Sie den folgenden Code in die Datei „index.js“:
  1. 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();
            }
          }
        })
      }
    })
  2. 5. Testlauf

Verwenden Sie das Applet Entwicklungstool, um eine Vorschau des Applet-Programms anzuzeigen.
  1. Geben Sie die Frage und Antwort ein, klicken Sie auf die Schaltfläche „Frage hinzufügen“. Die Frage wird zur Datenbank hinzugefügt.
  2. Klicken Sie auf „Löschen“. Klicken Sie auf die Schaltfläche rechts neben der Frage. Die Frage wird aus der Datenbank gelöscht.
  3. Durch die oben genannten Schritte haben wir erfolgreich eine einfache Online-Funktion für Fragen und Antworten und eine Wissensdatenbank implementiert. Benutzer können das Miniprogramm problemlos durchsuchen und Fragen hinzufügen. Natürlich handelt es sich dabei nur um eine Basisimplementierung, die Sie je nach Bedarf erweitern und optimieren können. Ich hoffe, dieser Artikel kann für PHP und die Entwicklung kleiner Programme hilfreich sein!

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn