Nous allons reprendre notre page topic.php. Sur cette page nous allons afficher les commentaires postés de vos utilisateur.


Dans notre page topic.php nous allons donc afficher les commentaires stockés dans la table topic_commentaire.


Page topic.php


<?php
  session_start();
  include('../bd/connexionDB.php');
  $get_id_forum = (int) trim(htmlentities($_GET['id_forum'])); 
  $get_id_topic = (int) trim(htmlentities($_GET['id_topic']));
  
  if(empty($get_id_forum) || empty($get_id_topic)){
    header('Location: /forum');
    exit;
  }
  
  $req = $DB->query("SELECT t.*, DATE_FORMAT(t.date_creation, 'Le %d/%m/%Y à %H\h%i') as date_c, U.prenom
    FROM topic T
    LEFT JOIN utilisateur U ON U.id = T.id_user
    WHERE t.id = ? AND t.id_forum = ?
    ORDER BY t.date_creation DESC", 
    array($get_id_topic, $get_id_forum));
  $req = $req->fetch();
  
  if(!isset($req['id'])){
    header('Location: /forum/' . $get_id_forum);
    exit;
  }
  
  // *********************************************************************
  // On vient sélectionner les informations nécessaire pour afficher les commentaires// postés sur ce topic// *********************************************************************
  $req_commentaire = $DB->query("SELECT TC.*, DATE_FORMAT(TC.date_creation, 'Le %d/%m/%Y à %H\h%i') as date_c, U.prenom, U.nom
    FROM topic_commentaire TC
    LEFT JOIN utilisateur U ON U.id = TC.id_user
    WHERE id_topic = ?
    ORDER BY date_creation DESC",
    array($get_id_topic));
  $req_commentaire = $req_commentaire->fetchAll();
?>
<!DOCTYPE html>
<html>
  <head>
    <base href="/"/>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
    <title>Topic</title>
    <link rel="stylesheet" href="../css/bootstrap.min.css"/>
    <link rel="stylesheet" href="../css/style.css"/>
  </head>
  <body>
    <?php
      require_once('../menu.php');    
    ?>
    <div class="container">
      <div class="row">   
        <div class="col-sm-0 col-md-0 col-lg-0"></div>
        <div class="col-sm-12 col-md-12 col-lg-12">
          <h1 style="text-align: center">Topic : <?= $req['titre'] ?></h1>
          <div style="background: white; box-shadow: 0 5px 15px rgba(0, 0, 0, .15); padding: 5px 10px; border-radius: 10px"><h3>Contenu</h3>
            <div style="border-top: 2px solid #eee; padding: 10px 0"><?= $req['contenu'] ?></div>
            <div style="color: #CCC; font-size: 10px; text-align: right"><?= $req['date_c'] ?>
              par 
              <?= $req['prenom'] ?></div>              
          </div>   
          <!-- On vient afficher les commentaire avec un foreach -->
            <div style="background: white; box-shadow: 0 5px 15px rgba(0, 0, 0, .15); padding: 5px 10px; border-radius: 10px; margin-top: 20px">
            <h3>Commentaires</h3><div class="table-responsive"><table class="table table-striped">
                <?phpforeach($req_commentaire as $rc){ 
                  ?>  
                    <tr><td><?= "De " . $rc['nom'] . " " . $rc['prenom'] ?></td><td><?= $rc['text'] ?></td>
                      <td><?= $rc['date_c'] ?></td></tr>   
                  <?php
                  }
                ?></table>                    
            </div>
          </div>
        </div>
      </div>
    </div>
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script><script src="../js/bootstrap.min.js"></script>
  </body>
</html>
3718 vues
Modifié le 26 septembre 2019
Publicité Sitedudev
Cette pub permet au site de vivre ...
Vidéo associée
Publicité Sitedudev
Cette pub permet au site de vivre ...
Télécharger le code source
Publicité
Cette pub permet au site de vivre ...
Voir d'autres articles
478 vues
Les promesses
Les Promesses en JavaScriptLes promesses sont un mécanisme de gestion asynchrone en JavaScript qui permet de gérer plus facilement les opérations asynchrones et d'éviter le "callback hell". Les...
JS
3 982 vues
Créer un topic
Créer un topicDans notre dossier **f_forum**, nous allons créer une nouvelle page creer_topic.php. Cette page permettra à vos utilisateurs de pouvoir créer un topic afin de demande de l'aide,...
Créer son site
2 230 vues
Comprendre la syntaxe pour insérer des données dans des colonnes spécifiques ou dans toutes les colonnes
1. Insertion de Données dans Toutes les Colonnes :Pour insérer des données dans toutes les colonnes d'une table, voici la syntaxe générale :INSERT INTO nom_de_la_table VALUES (valeur_colonne1,...
SQL
3 647 vues
Comprendre le rôle de CSS dans la conception Web.
Le rôle de CSS dans la conception WebCSS, ou Cascading Style Sheets, est un langage de style utilisé pour définir la présentation visuelle des pages Web. Il agit comme une couche de style qui...
CSS
5 585 vues
Créer son blog
Développer son Blog de A à ZAprès avoir terminer les articles pour développer votre Forum de A à Z maintenant nous allons nous attaquer à la création d'un blog complet !Pour...
Créer son site
579 vues
Consommation d'API REST
Consommation d'API REST en JavaScriptLa consommation d'API REST en JavaScript est une tâche courante dans le développement web moderne. Les API REST permettent aux applications d'envoyer et de...
JS
659 vues
Comment ces propriétés affectent le positionnement et la mise en page des éléments
Impact des Propriétés de Marge, Bordure, Rembourrage, Largeur et Hauteur sur le Positionnement et la Mise en Page des ÉlémentsEn CSS, les propriétés de marge, bordure, rembourrage, largeur et...
CSS
778 vues
Définition et but
Le fichier .htaccess est un outil puissant utilisé sur les serveurs web Apache pour configurer et contrôler divers aspects d'un site web. Son nom provient de "HyperText Access", ce qui signifie...
HTACCESS
Publicité
Cette pub permet au site de vivre ...