How to use PHP to develop a simple online question and answer function

PHPz
Release: 2023-09-21 14:34:01
Original
1259 people have browsed it

How to use PHP to develop a simple online question and answer function

How to use PHP to develop a simple online Q&A function

In today's Internet era, Q&A platforms have become an important way for people to obtain information and answer questions. If you want to develop a simple online question and answer function, PHP is an ideal choice. In this article, we will describe how to use PHP to develop such a feature and provide specific code examples.

Step 1: Create a database table

First, we need to create a database table to store the user's questions and answers. We can use MySQL as the database management system. The following is a simple database table design:

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`)
);
Copy after login

Two tables are created here, one for storing questions and one for storing answers. The question table contains the title and content of the question, and the answer table contains the content of the answer and the id of the corresponding question.

Step 2: Write PHP code

Next, we need to write PHP code to handle user questions and answers. First, we need to create a page to display the list of questions and provide the function to submit questions. The following is an example PHP code:

<?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>
Copy after login

This code first connects to the database, then submits the question through the form and inserts the question into the questions table. Next, it queries the questions table and displays the list of questions on the page.

Step 3: Implement question details and answer functions

Finally, we need to create a page to display question details and answers, as well as provide the function of submitting answers. The following is an example 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>
Copy after login

This code first connects to the database, then obtains the question id by obtaining the GET parameters, and queries the question table according to the id to obtain the question details. Next, it queries the answers table and displays the list of answers on the page. Finally, it provides a form for submitting answers and inserting the answers into the answers table.

Conclusion

Through the above steps, we successfully used PHP to develop a simple online question and answer function. At the same time, we also provide specific code examples to help you better understand and apply. Hope this article is helpful to you.

The above is the detailed content of How to use PHP to develop a simple online question and answer function. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!