Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan perbincangan soalan dan fungsi penyuntingan jawapan dalam laman web Soal Jawab pengetahuan.

PHP melaksanakan perbincangan soalan dan fungsi penyuntingan jawapan dalam laman web Soal Jawab pengetahuan.

WBOY
WBOYasal
2023-07-02 19:07:371406semak imbas

PHP merealisasikan fungsi suntingan perbincangan dan jawapan dalam laman web Soal Jawab pengetahuan

Dalam era ledakan maklumat hari ini, laman web Soal Jawab pengetahuan telah menjadi platform penting untuk orang ramai memperoleh pengetahuan dan bertukar pengalaman. Bagi pembangun, melaksanakan perbincangan soalan dan fungsi penyuntingan jawapan yang serupa dengan Stack Overflow adalah tugas yang sangat mencabar. Artikel ini menerangkan cara melaksanakan ciri sedemikian menggunakan PHP dan menyediakan contoh kod.

  1. Reka Bentuk dan Penciptaan Pangkalan Data

Pertama, kita perlu mereka bentuk dan mencipta pangkalan data untuk menyimpan maklumat soal jawab. Dalam contoh ini, kami akan menggunakan pangkalan data MySQL dan mencipta dua jadual: soalan dan jawapan.

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
);

Jadual soalan digunakan untuk menyimpan tajuk, kandungan dan masa penciptaan soalan, dan jadual jawapan digunakan untuk menyimpan kandungan jawapan, ID soalan dan masa penciptaan.

  1. Paparkan senarai isu dan butiran isu

Seterusnya, kita perlu menulis kod PHP untuk memaparkan senarai isu dan butiran isu. Mula-mula, kami mencipta fail bernama index.php yang akan memaparkan senarai soalan.

<?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>";
}
?>

Kemudian, kami mencipta fail bernama question.php yang memaparkan butiran soalan dan jawapan yang berkaitan.

<?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. Serahkan soalan dan jawapan

Akhir sekali, kita perlu menulis kod PHP untuk mengendalikan soalan dan jawapan yang dikemukakan pengguna. Cipta fail bernama submit.php yang mengendalikan soalan dan jawapan yang dikemukakan pengguna dan menyimpannya ke pangkalan data.

<?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();
}
?>

Kini, kita boleh memaparkan senarai soalan dengan mengakses halaman index.php, dan memaparkan butiran soalan dan jawapan dengan mengakses halaman question.php. Dan, dengan menyerahkan borang dengan soalan dan jawapan, data disimpan ke pangkalan data.

Ringkasan

Tidak sukar untuk melaksanakan fungsi suntingan perbincangan dan jawapan dalam laman web Soal Jawab pengetahuan melalui PHP Kami hanya perlu mencipta pangkalan data untuk menyimpan maklumat soal jawab, dan menulis kod PHP untuk memaparkan dan menyerahkan data. Artikel ini menyediakan contoh mudah yang boleh anda lanjutkan dan perbaiki berdasarkan keperluan anda sendiri. Saya doakan anda berjaya dalam melaksanakan laman web soal jawab pengetahuan yang berkuasa!

Atas ialah kandungan terperinci PHP melaksanakan perbincangan soalan dan fungsi penyuntingan jawapan dalam laman web Soal Jawab pengetahuan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn