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>
3682 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
3 443 vues
Le protocole Open Graph
IntroductionLe protocole Open Graph permet à n'importe quelle page Web de devenir un objet riche dans un graphe social. Par exemple, ceci est utilisé...
Créer son site
4 813 vues
Afficher la liste des articles
Mise en pagePour commencer nous allons créer la page maître de notre blog. C'est cette page qui contiendra tous les articles qui constituerons notre blog.Tout d'abord nous allons créer...
Créer son site
1 199 vues
Gestion des événements : click, submit, keydown, etc.
Gestion des Événements en JavaScriptLa gestion des événements en JavaScript permet d'interagir avec les actions de l'utilisateur sur une page web, telles que les clics de souris, les soumissions...
JS
4 152 vues
Utilisation des balises <h1> à <h6> pour les titres
Utilisation des balises <h1> à <h6> pour les titresLes balises <h1> à <h6> sont utilisées pour définir les niveaux de titre dans une page HTML. Elles vont du titre le plus...
HTML
2 592 vues
Comprendre les concepts de base
Comprendre les Concepts de BaseLorsqu'on commence à explorer MySQL, il est essentiel de comprendre les concepts de base qui constituent les fondations de ce système de gestion de base de données...
SQL
2 810 vues
Personnaliser sa bare de menu avec du CSS
Après avoir modifié notre barre de menu nous allons maintenant personnaliser notre barre de menu avec du CSS afin de la rendre plus agréable à regarder.Nous allons pour ça ajouter un nouveau...
Créer son site de rencontres
2 311 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
2 315 vues
Envoyer un message sans recharger la page (1/2)
Nous allons améliorer notre messagerie interne vu que nous pouvons désormais envoyer et recevoir des messages.Pour cela nous allons utiliser du JavaScript avec de l'Ajax afin de faire des...
Créer son site de rencontres
Publicité
Cette pub permet au site de vivre ...