PHP を使用して簡単なオンライン質問と回答機能を開発する方法

PHPz
リリース: 2023-09-21 14:34:01
オリジナル
1286 人が閲覧しました

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`)
);
ログイン後にコピー

ここでは 2 つのテーブルが作成され、1 つは質問を保存するため、もう 1 つは回答を保存するためです。質問テーブルには質問のタイトルと内容が含まれ、回答テーブルには回答の内容と対応する質問の 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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート