Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man mit PHP eine einfache Online-Frage- und Antwortfunktion entwickelt

Wie man mit PHP eine einfache Online-Frage- und Antwortfunktion entwickelt

PHPz
PHPzOriginal
2023-09-21 14:31:531261Durchsuche

Wie man mit PHP eine einfache Online-Frage- und Antwortfunktion entwickelt

So entwickeln Sie mit PHP eine einfache Online-Q&A-Funktion

Im heutigen Internetzeitalter sind Q&A-Plattformen zu einer wichtigen Möglichkeit für Menschen geworden, Informationen zu erhalten und Fragen zu beantworten. Wenn Sie eine einfache Online-Frage- und Antwortfunktion entwickeln möchten, ist PHP die ideale Wahl. In diesem Artikel beschreiben wir, wie Sie mit PHP eine solche Funktion entwickeln und stellen spezifische Codebeispiele bereit.

Schritt 1: Erstellen Sie eine Datenbanktabelle

Zuerst müssen wir eine Datenbanktabelle erstellen, um Benutzerfragen und -antworten zu speichern. Wir können MySQL als Datenbankverwaltungssystem verwenden. Das Folgende ist ein einfacher Datenbanktabellenentwurf:

CREATE TABLE IF NOT EXISTS `questions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `answers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `question_id` int(11) NOT NULL,
  `content` text NOT NULL,
  PRIMARY KEY (`id`)
);

Hier werden zwei Tabellen erstellt, eine zum Speichern von Fragen und eine zum Speichern von Antworten. Die Fragentabelle enthält den Titel und den Inhalt der Frage, und die Antworttabelle enthält den Inhalt der Antwort und die ID der entsprechenden Frage.

Schritt 2: PHP-Code schreiben

Als nächstes müssen wir PHP-Code schreiben, um Benutzerfragen und -antworten zu verarbeiten. Zuerst müssen wir eine Seite erstellen, um die Liste der Fragen anzuzeigen und die Funktion zum Senden von Fragen bereitzustellen. Hier ist ein PHP-Beispielcode:

<?php
  // 连接数据库
  $conn = new mysqli('localhost', 'username', 'password', 'database_name');

  // 处理提交的问题
  if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $title = $_POST['title'];
    $content = $_POST['content'];
    
    // 插入问题到数据库表
    $query = "INSERT INTO questions (title, content) VALUES ('$title', '$content')";
    $conn->query($query);
  }

  // 获取问题列表
  $query = "SELECT * FROM questions";
  $result = $conn->query($query);
?>

<!DOCTYPE html>
<html>
  <head>
    <title>问答平台</title>
  </head>
  <body>
    <h1>问答平台</h1>

    <h2>提交问题</h2>
    <form method="POST" action="">
      <input type="text" name="title" placeholder="问题标题"><br>
      <textarea name="content" placeholder="问题内容"></textarea><br>
      <input type="submit" value="提交问题">
    </form>

    <h2>问题列表</h2>
    <ul>
      <?php while ($row = $result->fetch_assoc()) { ?>
        <li><?php echo $row['title']; ?></li>
      <?php } ?>
    </ul>
  </body>
</html>

Dieser Code stellt zunächst eine Verbindung zur Datenbank her, sendet dann die Frage über das Formular und fügt die Frage in die Fragentabelle ein. Als nächstes fragt es die Fragentabelle ab und zeigt die Liste der Fragen auf der Seite an.

Schritt 3: Fragendetails und Antwortfunktionen implementieren

Abschließend müssen wir eine Seite erstellen, um Fragendetails und Antworten anzuzeigen und die Funktion zum Senden von Antworten bereitzustellen. Hier ist ein Beispiel für einen PHP-Code:

<?php
  // 连接数据库
  $conn = new mysqli('localhost', 'username', 'password', 'database_name');

  // 获取问题详情
  $qid = $_GET['qid'];
  $query = "SELECT * FROM questions WHERE id = $qid";
  $result = $conn->query($query);
  $question = $result->fetch_assoc();

  // 处理提交的回答
  if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $content = $_POST['content'];

    // 插入回答到数据库表
    $query = "INSERT INTO answers (question_id, content) VALUES ($qid, '$content')";
    $conn->query($query);
  }

  // 获取回答列表
  $query = "SELECT * FROM answers WHERE question_id = $qid";
  $result = $conn->query($query);
?>

<!DOCTYPE html>
<html>
  <head>
    <title><?php echo $question['title']; ?></title>
  </head>
  <body>
    <h1><?php echo $question['title']; ?></h1>
    <p><?php echo $question['content']; ?></p>

    <h2>提交回答</h2>
    <form method="POST" action="">
      <textarea name="content" placeholder="回答内容"></textarea><br>
      <input type="submit" value="提交回答">
    </form>

    <h2>回答列表</h2>
    <?php while ($row = $result->fetch_assoc()) { ?>
      <p><?php echo $row['content']; ?></p>
    <?php } ?>
  </body>
</html>

Dieser Code stellt zunächst eine Verbindung zur Datenbank her, ruft dann die Frage-ID ab, indem er die GET-Parameter abruft, und fragt die Fragentabelle entsprechend der ID ab, um die Fragendetails zu erhalten. Als nächstes fragt es die Antworttabelle ab und zeigt die Liste der Antworten auf der Seite an. Schließlich bietet es ein Formular zum Einreichen von Antworten und zum Einfügen der Antworten in die Antworttabelle.

Fazit

Durch die oben genannten Schritte haben wir mit PHP erfolgreich eine einfache Online-Frage- und Antwortfunktion entwickelt. Gleichzeitig stellen wir Ihnen auch konkrete Codebeispiele zur Verfügung, die Ihnen das Verständnis und die Anwendung erleichtern. Ich hoffe, dieser Artikel ist hilfreich für Sie.

Das obige ist der detaillierte Inhalt vonWie man mit PHP eine einfache Online-Frage- und Antwortfunktion entwickelt. 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