Dans notre dossier f_forum, nous allons créer une nouvelle page sujet.php. Cette page affichera la liste des topiques créer par les utilisateurs de votre site en fonction de la catégorie dans laquelle l'utilisateur a créé son topique.


Nous allons également modifier notre fichier .htaccess afin d'appliquer l'URL souhaitée pour récupérer l'identifiant de la catégorie pour afficher la liste des topiques correspondant.


Fichier .htaccess


RewriteRule ^forum/([0-9]+)$ f_forum/sujet?id=$1


Ensuite dans notre page sujet.php nous allons afficher les sujets que nous avons créées à la main dans la table topic.


Page sujet.php


<?php
  session_start();
  include('../bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
  $get_id = (int) trim(htmlentities($_GET['id'])); // On récupère l'id de la catégorie
  if(empty($get_id)){ // On vérifie qu'on a bien un id sinon on redirige vers la page forum
    header('Location: /forum');
    exit;
  }
  // On va récupérer toutes les informations des sujets, mettre les dates au format 'Le 24/04/2018 à 21h32' 
  // et ajouter les prénoms des personnes qui ont créé leur sujet
  $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_forum = ?
    ORDER BY t.date_creation DESC", 
    array($get_id));
    
  $req = $req->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>Sujet</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">Forum</h1>
        <div class="table-responsive">
          <table class="table table-striped">
            <tr>
              <th>ID</th>
              <th>Titre</th>
              <th>Date</th>
              <th>Par </th>
            </tr>
            <?php
              foreach($req as $r){  // Ici on va afficher tous nos enregistrements trouvés
              ?>  
              <tr>
                <td><?= $r['id'] ?> </td>
                <!-- On met un lien pour afficher le topic en entier -->
                <td><a href="forum/<?= $get_id?>/<?= $r['id']?>"><?= $r['titre'] ?></a></td>
                <td><?= $r['date_c'] ?></td>
                <td><?= $r['prenom'] ?></td>
              </tr>   
              <?php
              }
            ?>
            </table>                    
          </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>
4386 vues
Modifié le 04 mars 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
12 087 vues
Visiter un profil PHP
Pour visiter le profil d'un autre utilisateur il nous faudra récupérer son ID passer en argument dans l'URL par la méthode $_GET et afficher ses informations comme pour...
Créer son site
461 vues
Comprendre les concepts de marge, bordure, rembourrage et largeur/hauteur
Dans CSS, la mise en page des éléments est souvent influencée par quatre concepts clés : la marge, la bordure, le rembourrage et la largeur/hauteur. Comprendre ces concepts est essentiel pour...
CSS
325 vues
Paramètres de fonction
Les paramètres de fonction en PHP permettent de passer des valeurs à une fonction pour qu'elle puisse effectuer des opérations sur ces valeurs. Voici un cours facile à comprendre sur les...
PHP
3 109 vues
Les balises HTML et leur utilisation
Cours sur les Balises HTML et leur UtilisationLes balises HTML sont les éléments fondamentaux utilisés pour structurer le contenu d'une page Web. Chaque balise a un rôle spécifique dans la...
HTML
3 427 vues
Créer un fichier HTML
Créer un Fichier HTMLPour créer un fichier HTML, vous aurez besoin d'un éditeur de texte simple tel que Notepad (sur Windows) ou TextEdit (sur Mac). Suivez ces étapes simples pour créer votre...
HTML
1 979 vues
Charger automatiquement les messages
Après avoir amélioré l'envoi de nos messages nous allons également améliorer le système de recharge automatique pour l’affichage de nouveau message.
Créer son site de rencontres
3 403 vues
Définir l'encodage de caractères avec <meta charset="utf-8">
Définir l'encodage de caractères avec <meta charset="utf-8">L'encodage de caractères définit la correspondance entre les caractères et les valeurs binaires utilisées par l'ordinateur....
HTML
1 645 vues
Utiliser les opérations mathématiques (+, -, *, /) dans les styles
Utiliser les opérations mathématiques en SASS : +, -, , /1. Addition (+), Soustraction (-), Multiplication (*), Division (/) :En SASS, vous pouvez effectuer des opérations mathématiques...
Sass
Publicité
Cette pub permet au site de vivre ...