Les Tutos de Gabriel

Créer un Forum

Forum - Suite Sommaire

Complétons la page d'entrée : "forum001.php"

Après avoir créé les Rubriques, nous pouvons maintenant reprendre le fichier "forum001.php" pour écrire les commandes qui permettront de les afficher.

Il nous faut d'abord créer la requête nécessaire.

1 - Ecrivons la requête :

/*10*/if ($nb >= 1) { /*2ème requête :*/ /*11*/$rubriq = $bdd->prepare(' SELECT * FROM af_rubriques WHERE CatId = ? ORDER BY NomRubr' ); /*15*/} else { $message = '<p>Aucune catégorie n\'a encore été créée !</p>';}

Attention !

Bien vérifier l'écriture du nom de la table "af_rubriques", avec ou sans l'underscore.

On peut maintenant se reporter dans la partie "affichage", à la ligne 37 et écrire :

2 - Affichage des rubriques :

/*36*/<?php /*37*/while ($cat = $categories->fetch()) /*38*/{ // pour chaque catégorie /*39*/ $nr = 0; /*40*/ $rubriq->execute(array($cat['IdCat'])); /*41*/ $rubriques = ''; /*42*/ while($r = $rubriq->fetch()) /*43*/ { /*44*/ $rubriques .= '<a href="index.php?md=forum&amp;ac=forum003&amp; /*45*/ categorie='.$cat['IdCat'].'&amp;rubrique='.$r['IdRubr'].'">' /*46*/ .$r['NomRubr'].'</a> | '; /*47*/ $nr++; /*48*/ } /*49*/ $rubriques = substr($rubriques, 0,-3); /*50*/?>

En lignes 37 et 38 on ouvre "pour chaque catégorie" le remplissage du tableau. La fin de ce "while" se retrouve en ligne 87 à la fermeture du tableau.

En ligne 40, pour chaque catégorie, on exécute la requète "$rubriq" correspondante. Chaque rubrique est nommée, concaténée avec la précédente et suivie d'un trait vertical " | " entouré de 2 espaces.
Lorsque la liste est finie, la formule "substr('nom',0,-3 ) en ligne 49 permet d'enlever ce dernier trait vertical "|".

3 - On continue :

/*85*/ </tr> /*86*/<?php /*87*/}; // fin du while pour chaque catégorie /*88*/?> /*89*/</tbody> /*90*/</table>

4 - En ligne 74, nous modifions la fin de la formule comme suit :

/*74*/<a href="index.php?md=forum&amp;ac=forum005&amp;IdCat=<?php echo $cat['IdCat']; ?>" ><img src="images/divers/plus.png" alt="Image plus nouvelle rubrique" title="Ajouter une nouvelle rubrique à la catégorie <?= $cat['NomCat'] ?>." /></a> Rubriques : <?= $rubriques; ?>;

La valeur de "$rubriques" remplace les valeurs provisoires "Rubrique1 , 2 et 3" que nous avions mises en exemples.

Les lignes 44, 45 et 46 forment une seule ligne de commande avec le lien pour chaque rubrique, dont on affichera les sujets contenus.

Resultat intermédiaire :

 dans cours2049

Comment ça marche !

Lignes 5 à 9 : requête de la liste des catégories.

En ligne 10, s'il existe des catégories, on prépare la requête pour en rechercher les rubriques (lignes 12 à 15)

Lignes 21 à 36 : création de l'en-tête du forum, avec, si le visiteur a la permission, la mise en place de la "flèche", lien vers le fichier de création des catégories.
En fonctionnement normal (pour un visiteur du club) ce lien restera masqué.
Dans cet en-tête, explication de l'usage du crayon pour créer les nouveau sujets.

Lignes 36 à 50 : on établit pour chaque catégorie la liste des rubriques.

La ligne 74 affiche cette liste.

Nous attendrons d'avoir créé les pages pour les sujets et les réponses avant de renseigner les postes "Nombres de sujets et de réponses", "Dernier sujet", "Auteur" et "Date du dernier sujet".



Remarques

Ce formulaire permet donc de créer de nouveaux sujets, dans les différentes rubriques et catégories.

Dans la page suivante, nous allons créer le formulaire pour lire les sujets qui seront en fait les questions posées par les visiteurs, à la base des discussions qui suivront sous forme de réponses.