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>
3866 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
636 vues
Modification du contenu et des styles
Modification du Contenu et des Styles des Éléments HTML en JavaScriptLa modification du contenu et des styles des éléments HTML est une tâche courante en développement web. Cela permet de...
JS
2 520 vues
Nesting : Organiser le code CSS en utilisant le nesting pour des sélecteurs imbriqués
Nesting en SASS : Organiser le code CSS avec des sélecteurs imbriqués1. Utilisation du nesting :En SASS, vous pouvez organiser votre code CSS en utilisant le nesting pour des sélecteurs...
Sass
7 349 vues
Comment développe-t-on un site ?
Je suppose que si vous lisez ceci c'est que vous n'avez peut-être jamais développé auparavant et que vous souhaitez apprendre à développer votre premier site web.Si je vous parle...
Créer son site
737 vues
Utilisation de async/await
Utilisation de async/await en JavaScriptL'async/await est une syntaxe introduite dans ECMAScript 2017 pour simplifier la gestion des promesses et rendre le code asynchrone plus lisible et plus...
JS
2 284 vues
Accepter ou refuser une demande d'amis
Nous allons enfin terminer notre système d'amis en permettant à l'utilisateur d'accepter ou de refuser une ou plusieurs demande grâce à une liste contenant toutes les demandes que l'utilisateur...
Créer son site de rencontres
708 vues
Sélecteurs d'attribut : styliser en fonction des attributs des éléments HTML
Sélecteurs d'Attribut : Styliser en fonction des attributs des éléments HTMLLes sélecteurs d'attribut en CSS permettent de cibler des éléments HTML en fonction de la présence ou de la valeur...
CSS
3 518 vues
Créer des listes ordonnées <ol> et non ordonnées <ul>
Créer des listes ordonnées avec <ol> et non ordonnées avec <ul>Les balises <ol> et <ul> sont utilisées pour créer respectivement des listes ordonnées et non ordonnées...
HTML
575 vues
Objets : création, propriétés, méthodes
Objets en JavaScript1. Création d'Objets :Un objet en JavaScript est une structure de données qui permet de stocker des collections de paires clé-valeur. Les clés sont des chaînes de caractères...
JS
Publicité
Cette pub permet au site de vivre ...