Soyez le premier à donner votre avis sur cette source.
Snippet vu 5 801 fois - Téléchargée 27 fois
# 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); ?>
Commentaires
Mais c cool bravo aller 8/10 pour la peine ke tu t donné
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.