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>
4186 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
133 vues
Retour de valeurs avec return
En PHP, la fonction return est utilisée pour renvoyer une valeur depuis une fonction. Cela permet à une fonction d'effectuer des calculs ou des traitements sur des données et de renvoyer le...
PHP
1 824 vues
Installer SASS sur votre système
Installation de SASS sur votre système1. Installer Node.js :SASS nécessite Node.js pour fonctionner. Si vous ne l'avez pas déjà installé, téléchargez et installez Node.js à partir du site...
Sass
4 060 vues
Ajout d'images avec <img> et attributs src, alt et width
Ajout d'images avec <img> et attributs src, alt et widthLa balise <img> est utilisée pour afficher des images dans une page HTML. Elle nécessite l'utilisation de certains attributs pour...
HTML
219 vues
Utilisation des éléments <input>, <textarea>, <select> et <button>
Utilisation des éléments <input>, <textarea>, <select> et <button>Dans un formulaire HTML, différents éléments sont utilisés pour collecter des données de...
HTML
1 698 vues
Création de tables avec PhpMyAdmin
1. Accéder à PhpMyAdmin :Ouvrez un navigateur web et accédez à l'URL où vous avez installé PhpMyAdmin sur votre serveur.2. Authentification :Connectez-vous à PhpMyAdmin en utilisant vos...
SQL
12 vues
Vue d'ensemble de frameworks populaires comme React, Angular, et Vue.js
Vue d'ensemble des Frameworks Populaires : React, Angular et Vue.jsLes frameworks JavaScript tels que React, Angular et Vue.js sont largement utilisés pour le développement d'applications web...
JS
223 vues
Variables : déclaration, types de données (chaînes de caractères, nombres entiers et flottants, booléens)
Les variables sont des éléments fondamentaux en programmation, utilisées pour stocker des données et leur attribuer des noms. En PHP, les variables peuvent stocker différents types de données,...
PHP
3 244 vues
Afficher les commentaires
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...
Créer son site
Publicité
Cette pub permet au site de vivre ...