Maison >développement back-end >tutoriel php >Utilisez PHP pour développer la fonction d'affichage des détails des questions sur le site Web de questions et réponses sur les connaissances.

Utilisez PHP pour développer la fonction d'affichage des détails des questions sur le site Web de questions et réponses sur les connaissances.

PHPz
PHPzoriginal
2023-07-02 14:01:52852parcourir

Utilisez PHP pour développer la fonction d'affichage des détails des questions sur le site Web de questions-réponses sur les connaissances

Avec le développement d'Internet, le site Web de questions-réponses sur les connaissances est devenu une plate-forme importante permettant aux utilisateurs d'acquérir des connaissances et de partager des expériences. Sur ces sites, les utilisateurs peuvent poser des questions et obtenir des réponses d'autres utilisateurs. Afin d'améliorer l'expérience utilisateur, les sites Web de questions et réponses fournissent généralement une fonction d'affichage des détails des questions, permettant aux utilisateurs de visualiser le contenu détaillé de la question et les réponses associées.

Cet article expliquera comment utiliser PHP pour développer un site Web simple de questions-réponses sur les connaissances et implémenter la fonction d'affichage des détails des questions. Pour faciliter l'explication, nous utiliserons une classe Question imaginaire pour simuler la structure de données de la question, et une fonction getQuestionById qui suppose qu'une base de données est connectée pour obtenir les informations sur la question avec l'identifiant spécifié. getQuestionById 来获取指定 id 的问题信息。

首先,我们需要创建一个问题详情页的 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 循环遍历回答列表,并将每个回答的内容展示在页面上。

最后,我们需要在问答网站的其他页面中添加链接,使用户能够点击问题标题跳转到问题详情页。假设我们的首页中展示了最新的问题列表,我们可以在问题标题旁边添加一个链接。

<?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 属性的 3499910bf9dac5ae3c52d5ede7383485 标签,并将问题 id 作为参数传递给 question_details.php

Tout d'abord, nous devons créer un fichier PHP pour la page de détails de la question, nommé question_details.php. Dans ce fichier, nous pouvons déterminer l'identifiant du problème à afficher en obtenant le id dans le paramètre URL.

rrreee

Dans le code ci-dessus, nous obtenons d'abord le paramètre id dans l'URL, et obtenons les informations de question correspondant à l'identifiant via la fonction getQuestionById. On utilise ensuite la fonction echo pour afficher le titre et le contenu de la question sur la page. 🎜🎜Ensuite, nous devons implémenter la fonction d'affichage de la liste de réponses aux questions. Nous pouvons utiliser une autre fonction getAnswersByQuestionId pour obtenir la liste des réponses pour l'identifiant de question spécifié et afficher ces réponses dans la page de détails de la question. 🎜rrreee🎜Dans le code ci-dessus, nous avons introduit la fonction de connexion à la base de données et utilisé la fonction getAnswersByQuestionId pour obtenir la liste de réponses pour l'identifiant de question spécifié. Nous utilisons ensuite foreach pour parcourir la liste des réponses et afficher le contenu de chaque réponse sur la page. 🎜🎜Enfin, nous devons ajouter des liens vers d'autres pages du site Web de questions-réponses afin que les utilisateurs puissent cliquer sur le titre de la question pour accéder à la page de détails de la question. Supposons que notre page d'accueil affiche la dernière liste de questions. Nous pouvons ajouter un lien à côté du titre de la question. 🎜rrreee🎜Dans le code ci-dessus, nous enveloppons une balise 3499910bf9dac5ae3c52d5ede7383485 avec un attribut href autour du titre de la question et passons l'identifiant de la question en tant que paramètre à fichier question_details.php. Lorsque les utilisateurs cliquent sur le titre de la question, ils accèdent à la page de détails de la question correspondante. 🎜🎜Grâce à la flexibilité et aux fonctions d'exploitation de base de données de PHP, nous avons développé un site Web simple de questions et réponses de connaissances en utilisant PHP et implémenté la fonction d'affichage des détails des questions. Les utilisateurs peuvent cliquer sur le titre de la question pour afficher les détails de la question et les réponses associées. Bien entendu, l’exemple ci-dessus n’est qu’une simple démonstration, et davantage de fonctions et de traitements logiques sont nécessaires dans le développement réel. J'espère que cet article pourra vous fournir des idées de développement et des méthodes de mise en œuvre pour la fonction d'affichage des détails du problème. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn