Home  >  Article  >  Backend Development  >  PHP implements the editing and deletion functions of question answers in the knowledge question and answer website.

PHP implements the editing and deletion functions of question answers in the knowledge question and answer website.

WBOY
WBOYOriginal
2023-07-01 15:27:101021browse

PHP implements the editing and deletion functions of question answers in the knowledge question and answer website

In the knowledge question and answer website, in order to ensure the quality of the questions and answers, users often need to edit and delete the published questions and answers operate. PHP is a commonly used back-end programming language with powerful capabilities for processing data and database operations, making it very suitable for implementing these functions. This article will introduce how to use PHP to implement the question answer editing and deletion functions in the knowledge Q&A website.

1. Database design

First, we need to design a database to store question and answer information. Suppose we need to store the title, content, and publication time of the question, and the content and publication time of the answer. We can create a table called "questions" to store the questions' information, and a table called "answers" to store the answers' information. The design of the

questions table is as follows:

CREATE TABLE questions (

id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

answers The design of the table is as follows:

CREATE TABLE answers (

id INT AUTO_INCREMENT PRIMARY KEY,
question_id INT NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (question_id) REFERENCES questions(id) ON DELETE CASCADE

);

In the answers table, we use the question_id foreign key to associate answers and questions. And when the question is deleted through the ON DELETE CASCADE setting, the answers associated with it will also be automatically deleted.

2. Implement the question and answer editing function

In PHP, we can obtain the questions and answer content submitted by the user through the data of the HTTP request. Then, edit the questions and answers by connecting to the database and executing SQL statements.

<?php
// 获取用户提交的问题内容
$title = $_POST['title'];
$content = $_POST['content'];

// 连接数据库
$pdo = new PDO('mysql:host=localhost;dbname=your_database_name', 'your_username', 'your_password');

// 编辑问题
$id = $_POST['question_id'];
$stmt = $pdo->prepare("UPDATE questions SET title=?, content=? WHERE id=?");
$stmt->execute([$title, $content, $id]);

// 跳转回问题详情页
header("Location: question.php?id=$id");
exit;
?>

In the above code, we first obtain the title and content of the question submitted by the user, then use the prepare method to prepare the SQL statement, and use the execute method to execute the SQL statement and update the question content submitted by the user to the database. . Finally, use the header function to redirect the user to the issue details page.

3. Implement the question and answer deletion function

Similar to question editing, we can also obtain the ID of the question or answer that the user wants to delete through the HTTP request data. Then, delete operations are performed by connecting to the database and executing SQL statements.

<?php
// 获取用户提交的问题或答案 ID
$id = $_GET['id'];

// 连接数据库
$pdo = new PDO('mysql:host=localhost;dbname=your_database_name', 'your_username', 'your_password');

if (isset($_GET['question'])) {
    // 删除问题及其关联的答案
    $stmt = $pdo->prepare("DELETE FROM questions WHERE id=?");
    $stmt->execute([$id]);
} else {
    // 删除答案
    $stmt = $pdo->prepare("DELETE FROM answers WHERE id=?");
    $stmt->execute([$id]);
}

// 跳转回问题详情页
header("Location: question.php");
exit;
?>

In the above code, we first determine whether the user wants to delete a question or an answer, and then prepare and execute the corresponding SQL statement according to different situations. Finally, the header function is also used to redirect the user back to the question details page.

Conclusion

It is very simple to implement the question answer editing and deletion functions in the knowledge Q&A website through PHP. You only need to connect to the database and execute the corresponding SQL statement. I hope this article can help you understand how to use PHP to achieve these functions. If you still have any questions or doubts, you can check the official PHP documentation or refer to other related tutorials. I wish you good results in your development!

The above is the detailed content of PHP implements the editing and deletion functions of question answers in the knowledge question and answer website.. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn