PHP를 사용하여 간단한 온라인 질문 및 답변 기능을 개발하는 방법

PHPz
풀어 주다: 2023-09-21 14:34:01
원래의
1260명이 탐색했습니다.

PHP를 사용하여 간단한 온라인 질문 및 답변 기능을 개발하는 방법

PHP를 사용하여 간단한 온라인 Q&A 기능을 개발하는 방법

오늘날 인터넷 시대에 Q&A 플랫폼은 사람들이 정보를 얻고 질문에 답하는 중요한 방법이 되었습니다. 간단한 온라인 질문과 답변 기능을 개발하고 싶다면 PHP가 이상적인 선택입니다. 이 기사에서는 PHP를 사용하여 이러한 기능을 개발하는 방법을 설명하고 구체적인 코드 예제를 제공합니다.

1단계: 데이터베이스 테이블 만들기

먼저 사용자 질문과 답변을 저장할 데이터베이스 테이블을 만들어야 합니다. MySQL을 데이터베이스 관리 시스템으로 사용할 수 있습니다. 다음은 간단한 데이터베이스 테이블 디자인입니다.

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`)
);
로그인 후 복사

여기에는 두 개의 테이블이 생성되는데, 하나는 질문을 저장하고 다른 하나는 답변을 저장합니다. 질문 테이블에는 질문의 제목과 내용이 포함되고, 답변 테이블에는 답변 내용과 해당 질문의 ID가 포함됩니다.

2단계: PHP 코드 작성

다음으로 사용자 질문과 답변을 처리하기 위한 PHP 코드를 작성해야 합니다. 먼저, 질문 목록을 표시하는 페이지를 생성하고, 질문 제출 기능을 제공해야 합니다. 다음은 PHP 코드의 예입니다.

<?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>
로그인 후 복사

이 코드는 먼저 데이터베이스에 연결한 다음 양식을 통해 질문을 제출하고 질문 테이블에 질문을 삽입합니다. 다음으로 질문 테이블을 쿼리하고 페이지에 질문 목록을 표시합니다.

3단계: 질문 세부정보 및 답변 기능 구현

마지막으로 질문 세부정보 및 답변을 표시하고 답변 제출 기능을 제공하는 페이지를 만들어야 합니다. 다음은 PHP 코드 예입니다.

<?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>
로그인 후 복사

이 코드는 먼저 데이터베이스에 연결한 다음 GET 매개변수를 가져와 질문 ID를 가져오고 ID에 따라 질문 테이블을 쿼리하여 질문 세부정보를 가져옵니다. 다음으로 답변 테이블을 쿼리하고 페이지에 답변 목록을 표시합니다. 마지막으로 답변을 제출하고 답변 테이블에 답변을 삽입하는 양식을 제공합니다.

결론

위의 단계를 통해 PHP를 사용하여 간단한 온라인 질문 및 답변 기능을 개발하는 데 성공했습니다. 동시에 더 나은 이해와 적용을 돕기 위해 구체적인 코드 예제도 제공합니다. 이 기사가 도움이 되기를 바랍니다.

위 내용은 PHP를 사용하여 간단한 온라인 질문 및 답변 기능을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!