ホームページ  >  記事  >  バックエンド開発  >  ナレッジQ&Aサイトの質問詳細表示機能をPHPで開発します。

ナレッジQ&Aサイトの質問詳細表示機能をPHPで開発します。

PHPz
PHPzオリジナル
2023-07-02 14:01:52821ブラウズ

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 ファイル。ユーザーが質問のタイトルをクリックすると、対応する質問の詳細ページにジャンプします。

PHPの柔軟性とデータベース操作機能を活かして、PHPを利用した簡易知識問答サイトを開発し、質問詳細表示機能を実装しました。ユーザーは質問のタイトルをクリックして、質問の詳細と関連する回答を表示できます。もちろん、上記の例は単なるデモであり、実際の開発ではさらに多くの機能やロジック処理が必要になります。この記事が、問題詳細表示機能の開発アイデアや実装方法を少しでもお届けできれば幸いです。

以上がナレッジQ&Aサイトの質問詳細表示機能をPHPで開発します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。