Ajax HTML 5 Création site CMS Comment Design Logiciels Programmation RSS SQL Scriptol Scripts Mobiles
Forum
Tutoriel SQL
Configurer
Introduction
Tables SQL
Premier programme
Interface
Tutoriel SQLite
Conception Web
Flux RSS
RIA
SEO
Autre tutoriels
DOM et PHP
Construire un CMS
Ressources
Logiciels
Compilateur Scriptol
Scripts pour le Web


Afficher les titres des dernières discussions d'un forum fluxBB

Avoir les titres des derniers billets d'un forum punBB affichés sur une page du site, la page d'accueil par exemple se réalise très aisément.

Les tables punBB

Dans les tables, on veut récupérer le sujet de la discussion, l'auteur et la date de publication.

Contrairement à ce qui se passe avec punbBB, une seule table fournit toutes les informations nécessaires, c'est la table topics.

id
subject
posted
poster
       

id est l'identificateur du premier billet de la discussion, il sert à construire l'URL.
subject est le titre de la discussion.
posted est la date où elle a été ouverte.
poster est le nom du membre du forum qui l'a ouverte.

Définition de la requête

Le paramètre FROM sélectionne la tables topics. Le nom complet est construit en ajoutant le préfixe fournit par config.php.

Le paramètre SELECT définit les données qui seront retournées et affichées, ce sont dans l'ordre l'identificateur du topic, le sujet du billet, la date du billet, le nom du membre qui l'a posté.

Les billets sont classés par date, en ordre décroissant donc en commençant par les plus récents et en se limitant à un nombre donné.

SELECT id, subject, posted, poster 
FROM $top
ORDER BY posted DESC LIMIT $size";

La variable $size est un paramètre du script, c'est le nombre maximum de titres à afficher.

Une telle requête est rapide à exécuter et ne devrait pas ralentir l'affichage de la page.

Obtenir les paramètres d'accès à la base

Les paramètres de l'hôte, le nom de la base de donnée, l'utilisateur et le mot de passe sont récupérés dans le fichier config.php.

Pour ce faire, il suffit de définir le chemin du fichier de configuration, à la racine du forum, et d'inclure ce fichier dans notre script: les variables qu'il contient appartiendront alors au script...

Il est préférable de placer le script à la racine du site pour un accès simplifié aux sous-répertoires.

Comment on affiche les discussions

On a vu dans le tutoriel comment récupérer les données obtenues dans la base avec la fonction mysql_fetch_assoc.

On a dans notre exemple, inclu une feuille de style qui définit un cadre et quelques propriétés pour les données affichées. Ce n'est qu'un exemple et cela doit être adapté selon les besoins.

Pour la feuille de style incluse dans la page de démonstration, le script utilise la ligne suivante:

echo "<a href='$url'>$title</a> by 
<span class='cssuser'>$username</span>  
<span class='cssdate'>$date</span>\n";

Ajouter ou supprimer des span au besoin, et remplacer éventuellement les noms des descripteurs.

Comment utiliser le script

Le script est inclu dans la page où afficher les titres, et à l'endroit où on veut les afficher.

Il doit être configuré selon le site:

$forumdir = "faq/";    
$formatflag = false; 

Changer le nom du répertoire du forum si besoin, et activer l'option de conversion en true si le format de la page est différent de celui du forum (ISO).

Il est aussi possible de choisir le nombre de titres à afficher avec la dernière option de la fonction display:

display($db_host, $db_name , $db_username, $db_password , 10);  

Noter que ces variables en paramètres proviennent directement du fichier config.php inclu et sont utilisées telles quelles.

Le script complet et la démonstration

  • Démonstration.
  • Voir le code source.
  • Télécharger le script avec la page de démonstration.

Voir aussi

  • Afficher les titres des derniers billets d'un forum phpBB.
© 2008-2011 Scriptol.fr