begin process at 2012 05 27 16:48:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-Mail / Messagerie

 > ARBORESCENCE POUR UN FORUM

ARBORESCENCE POUR UN FORUM


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-Mail / Messagerie Niveau :Débutant Date de création :24/06/2003 Date de mise à jour :24/06/2003 19:10:02 Vu :4 937

Auteur : Microbsoft

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Ce code permet de faire simplement une arborescence pour un forum. Ce code a été trouvé sur www.phpfrance.com et je l'ai mis car il y en avait pas sur ce site.

Source

  • # Structure de la table
  • CREATE TABLE forum (
  • id mediumint(9) NOT NULL auto_increment,
  • id_parent mediumint(9) NOT NULL,
  • titre varchar(64) NOT NULL,
  • PRIMARY KEY (id)
  • );
  • # Contenu de la table
  • INSERT INTO forum VALUES( '1', '0', 'test');
  • INSERT INTO forum VALUES( '2', '1', 'test2');
  • INSERT INTO forum VALUES( '3', '2', 'test3');
  • INSERT INTO forum VALUES( '4', '1', 'test4');
  • <?
  • // connection
  • $bdd = mysql_connect("localhost","utilisateur","mot_passe");
  • mysql_select_db("forum", $bdd);
  • // selection des messages
  • $sql = "SELECT * from forum";
  • $aryResultatRequete = mysql_query($sql, $bdd);
  • // fonction récursive qui affiche les sous messages d'un message
  • function affiche_sous_msg($argMessagesFils,$argMessageId)
  • {
  • if($aryMessages = $argMessagesFils[$argMessageId])
  • {
  • echo "<ul>";
  • while(list(,$aryMessage) = each($aryMessages))
  • {
  • echo "<li>$aryMessage[titre]";
  • affiche_sous_msg($argMessagesFils,$aryMessage[id]);
  • }
  • echo "</ul>";
  • }
  • }
  • // rangement des messages
  • while($aryMessage = mysql_fetch_array($aryResultatRequete))
  • {
  • $id_parent = $aryMessage[id_parent];
  • // c'est le premier message de la discussion on l'ajoute dans le tableau des sujets
  • if(!$id_parent) $aryMessagesSujets[] = $aryMessage;
  • // sinon on l'ajoute dans la teableau des messages fils
  • else $aryMessagesFils[$id_parent][] = $aryMessage;
  • }
  • // affichage des messages
  • echo "<ul>";
  • while(list(,$arySujet) = each($aryMessagesSujets))
  • {
  • echo "<li>$arySujet[titre]";
  • // appel de la fonction récursive qui va afficher tous les sous messages
  • affiche_sous_msg($aryMessagesFils,$arySujet[id]);
  • }
  • echo "</ul>";
  • // déconnection
  • mysql_close($bdd);
  • ?>
# Structure de la table

CREATE TABLE forum (
 id mediumint(9) NOT NULL auto_increment,
 id_parent mediumint(9) NOT NULL,
 titre varchar(64) NOT NULL,
 PRIMARY KEY (id)
); 
# Contenu de la table

INSERT INTO forum VALUES( '1', '0', 'test');
INSERT INTO forum VALUES( '2', '1', 'test2');
INSERT INTO forum VALUES( '3', '2', 'test3');
INSERT INTO forum VALUES( '4', '1', 'test4');




<? 
// connection
$bdd = mysql_connect("localhost","utilisateur","mot_passe");
mysql_select_db("forum", $bdd);

// selection des messages
$sql = "SELECT * from forum";
$aryResultatRequete = mysql_query($sql, $bdd);

// fonction récursive qui affiche les sous messages d'un message
function affiche_sous_msg($argMessagesFils,$argMessageId)
{
 if($aryMessages = $argMessagesFils[$argMessageId])
 {
  echo "<ul>";
  while(list(,$aryMessage) = each($aryMessages))
  {
   echo "<li>$aryMessage[titre]";
   affiche_sous_msg($argMessagesFils,$aryMessage[id]);
  }
  echo "</ul>";
 }
}

// rangement des messages
while($aryMessage = mysql_fetch_array($aryResultatRequete))
{
 $id_parent = $aryMessage[id_parent];
 // c'est le premier message de la discussion on l'ajoute dans le tableau des sujets
 if(!$id_parent) $aryMessagesSujets[] = $aryMessage; 
 // sinon on l'ajoute dans la teableau des messages fils
 else $aryMessagesFils[$id_parent][] = $aryMessage;
}

// affichage des messages
echo "<ul>";
while(list(,$arySujet) = each($aryMessagesSujets))
{
 echo "<li>$arySujet[titre]";
 // appel de la fonction récursive qui va afficher tous les sous messages
 affiche_sous_msg($aryMessagesFils,$arySujet[id]);
}
echo "</ul>";

// déconnection
mysql_close($bdd);

?>



 Sources du même auteur

Source avec Zip ZIPPER UN OU PLUSIEURS FICHIERS

 Sources de la même categorie

Source avec Zip Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ... par cod57
Source avec Zip Source avec une capture FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI ... par cod57
Source avec Zip CHAT EN PHP ET JQUERY par pitchoubrazil
Source avec Zip Source avec une capture FORMULAIRE DE CHOIX MULTI-CONTACT VALIDE XHTML 1.0 TRANSITIO... par aventurier19
Source avec Zip Source avec une capture WEB MESSENGER par EvildarkEurope

Commentaires et avis

Commentaire de Kirua le 25/06/2003 02:17:59

... il n'y en avais pas sur ce site... mais c une listing de base de données classique, tout ce qu'il y a de plus courant :-)

Commentaire de ace le 04/07/2003 17:16:41

Ouais sa sert pas trop mais bon faire un listing fo pas etre un pro pour faire sa
Mais c cool bravo aller 8/10 pour la peine ke tu t donné

Commentaire de Kirua le 04/07/2003 21:59:29

un élan de bonté

Commentaire de Hellway le 09/08/2003 02:49:24

J'ai le même sur mon site, mais j'ai fait ça carrément plus facilement et sans générer de listes qui bouffent de la ressource. M'enfin, c'est déjà pas mal.

Commentaire de eli13001 le 18/01/2012 11:44:33

thankiou !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales