PHP を使用してナレッジ Q&A サイトの質問詳細表示機能を開発する
インターネットの発展に伴い、ナレッジ Q&A サイトは人々が知識を取得し、経験を共有するための重要なプラットフォームになりました。これらのサイトでは、ユーザーは質問し、他のユーザーから回答を得ることができます。 Q&A Web サイトでは、ユーザーエクスペリエンスを向上させるために、質問の詳細な内容と関連する回答を閲覧できる質問詳細表示機能が提供されていることが一般的です。
この記事では、PHPを使って簡単な知識Q&Aサイトを開発し、質問内容を表示する機能を実装する方法を紹介します。説明の便宜上、質問のデータ構造をシミュレートする架空の Question クラスと、指定された ID の質問情報を取得するためにデータベースに接続されていると仮定した関数 getQuestionById
を使用します。
まず、質問の詳細ページの PHP ファイルを question_details.php
という名前で作成する必要があります。このファイルでは、URL パラメーターの id
を取得することで、表示する問題 ID を決定できます。
<?php // 获取问题 id $questionId = $_GET['id']; // 引入数据库连接函数 require_once 'db_connect.php'; // 获取问题信息 $question = getQuestionById($questionId); // 判断问题是否存在 if (!$question) { echo '问题不存在'; exit; } // 展示问题详细内容 echo '<h1>' . $question['title'] . '</h1>'; echo '<p>' . $question['content'] . '</p>'; // TODO: 展示问题的回答列表 ?>
上記のコードでは、まず URL の id
パラメータを取得し、getQuestionById
関数を通じてその id に対応する質問情報を取得します。次に、echo
関数を使用して、質問のタイトルと内容をページに表示します。
次に、質問を表示するための回答リスト機能を実装する必要があります。別の関数 getAnswersByQuestionId
を使用して、指定された質問 ID に対する回答のリストを取得し、これらの回答を質問の詳細ページに表示できます。
<?php // 获取问题 id $questionId = $_GET['id']; // 引入数据库连接函数 require_once 'db_connect.php'; // 获取问题信息 $question = getQuestionById($questionId); // 判断问题是否存在 if (!$question) { echo '问题不存在'; exit; } // 展示问题详细内容 echo '<h1>' . $question['title'] . '</h1>'; echo '<p>' . $question['content'] . '</p>'; // 获取回答列表 $answers = getAnswersByQuestionId($questionId); // 判断是否有回答 if (empty($answers)) { echo '暂无回答'; } else { // 展示回答列表 echo '<h2>回答:</h2>'; foreach ($answers as $answer) { echo '<p>' . $answer['content'] . '</p>'; } } ?>
上記のコードでは、データベース接続関数を導入し、getAnswersByQuestionId
関数を使用して、指定された質問 ID の回答リストを取得しました。次に、foreach
を使用して回答のリストをループし、各回答の内容をページに表示します。
最後に、ユーザーが質問のタイトルをクリックして質問の詳細ページにジャンプできるように、Q&A Web サイトの他のページへのリンクを追加する必要があります。ホームページに最新の質問リストが表示されているとします。質問タイトルの横にリンクを追加できます。
<?php foreach ($questions as $question): ?> <h2><a href="question_details.php?id=<?php echo $question['id']; ?>"><?php echo $question['title']; ?></a></h2> <?php endforeach; ?>
上記のコードでは、質問タイトルの外側に href
属性を含む href
タグをラップし、質問 ID をパラメータとして渡します。 .php ファイル。ユーザーが質問のタイトルをクリックすると、対応する質問の詳細ページにジャンプします。
以上がナレッジQ&Aサイトの質問詳細表示機能をPHPで開発します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。