Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die Fragendiskussions- und Antwortbearbeitungsfunktionen auf der Wissens-Q&A-Website.

PHP implementiert die Fragendiskussions- und Antwortbearbeitungsfunktionen auf der Wissens-Q&A-Website.

WBOY
WBOYOriginal
2023-07-02 19:07:371431Durchsuche

PHP realisiert die Fragendiskussions- und Antwortbearbeitungsfunktionen in der Wissens-Q&A-Website.

In der heutigen Zeit der Informationsexplosion ist die Wissens-Q&A-Website zu einer wichtigen Plattform für Menschen geworden, um Wissen zu erlangen und Erfahrungen auszutauschen. Für Entwickler ist die Implementierung einer Fragediskussions- und Antwortbearbeitungsfunktion ähnlich wie bei Stack Overflow eine sehr anspruchsvolle Aufgabe. In diesem Artikel wird erläutert, wie eine solche Funktion mit PHP implementiert wird, und es werden Codebeispiele bereitgestellt.

  1. Datenbankdesign und -erstellung

Zuerst müssen wir eine Datenbank entwerfen und erstellen, um Frage- und Antwortinformationen zu speichern. In diesem Beispiel verwenden wir eine MySQL-Datenbank und erstellen zwei Tabellen: Fragen und Antworten.

CREATE TABLE questions (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE answers (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    question_id INT(11) NOT NULL,
    content TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

In der Fragentabelle werden der Titel, der Inhalt und die Erstellungszeit der Frage gespeichert, und in der Antworttabelle werden der Inhalt der Antwort, die ID der Frage und die Erstellungszeit gespeichert.

  1. Zeigen Sie die Problemliste und die Problemdetails an.

Als nächstes müssen wir PHP-Code schreiben, um die Problemliste und die Problemdetails anzuzeigen. Zuerst erstellen wir eine Datei namens index.php, die die Liste der Fragen anzeigt.

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 查询所有问题
$query = "SELECT * FROM questions ORDER BY created_at DESC";
$result = mysqli_query($conn, $query);

// 显示问题列表
while ($row = mysqli_fetch_assoc($result)) {
    echo "<h2><a href='question.php?id={$row['id']}'>{$row['title']}</a></h2>";
    echo "<p>{$row['content']}</p>";
    echo "<hr>";
}
?>

Dann erstellen wir eine Datei namens questions.php, die die Fragendetails und zugehörigen Antworten anzeigt.

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

// 获取问题 ID
$id = $_GET['id'];

// 查询问题的详细信息
$query = "SELECT * FROM questions WHERE id = $id";
$result = mysqli_query($conn, $query);
$question = mysqli_fetch_assoc($result);

// 查询问题的答案列表
$query = "SELECT * FROM answers WHERE question_id = $id ORDER BY created_at DESC";
$result = mysqli_query($conn, $query);

// 显示问题和答案
echo "<h1>{$question['title']}</h1>";
echo "<p>{$question['content']}</p>";

while ($row = mysqli_fetch_assoc($result)) {
    echo "<h3>答案</h3>";
    echo "<p>{$row['content']}</p>";
    echo "<hr>";
}
?>
  1. Fragen und Antworten einreichen

Schließlich müssen wir PHP-Code schreiben, um von Benutzern eingereichte Fragen und Antworten zu verarbeiten. Erstellen Sie eine Datei namens „submit.php“, die vom Benutzer eingereichte Fragen und Antworten verarbeitet und in der Datenbank speichert.

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 提交问题
    if (isset($_POST['question'])) {
        $title = $_POST['title'];
        $content = $_POST['content'];

        $query = "INSERT INTO questions (title, content) VALUES ('$title', '$content')";
        mysqli_query($conn, $query);
    }

    // 提交答案
    if (isset($_POST['answer'])) {
        $question_id = $_POST['question_id'];
        $content = $_POST['content'];

        $query = "INSERT INTO answers (question_id, content) VALUES ($question_id, '$content')";
        mysqli_query($conn, $query);
    }

    // 重定向到问题详情页面
    header("Location: question.php?id=$question_id");
    exit();
}
?>

Jetzt können wir die Fragenliste anzeigen, indem wir auf die Seite index.php zugreifen, und die Fragendetails und Antworten anzeigen, indem wir auf die Seite questions.php zugreifen. Und durch das Absenden eines Formulars mit Fragen und Antworten werden die Daten in der Datenbank gespeichert.

Zusammenfassung

Es ist nicht schwierig, Fragendiskussions- und Antwortbearbeitungsfunktionen in einer Wissens-Q&A-Website über PHP zu implementieren. Wir müssen lediglich eine Datenbank erstellen, um Fragen- und Antwortinformationen zu speichern, und PHP-Code schreiben, um Daten anzuzeigen und zu übermitteln. Dieser Artikel stellt ein einfaches Beispiel dar, das Sie entsprechend Ihren eigenen Anforderungen erweitern und verbessern können. Ich wünsche Ihnen viel Erfolg bei der Umsetzung einer leistungsstarken Wissens-Frage- und Antwort-Website!

Das obige ist der detaillierte Inhalt vonPHP implementiert die Fragendiskussions- und Antwortbearbeitungsfunktionen auf der Wissens-Q&A-Website.. 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