La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Arborescence
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Arborescence  (Lu 370 fois)
Arborescence
« sur: le 06-11-2003 a 08:30:48 »
TinMar
Habitué
***

Hors-Ligne

Sexe: Male
Messages: 268



Yo !

Voir le Profil    E-Mail
Répondre avec citation

Salut à tous je suis en train d'essayer de programmer un forum alone et je bute déjà. J'ai choppé un script sur le net pour créer l'arborescence d'un forum mais le problème que ca met en memoire ts les messages avant d'afficher les messages et j'aimerais eviter ca (il parrait que ca prend de la ressource)
Voila le code que j'ai trouvé :


Code:
# 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);

?>


Est ce que c'est possible que quelqu'un me donne des pistes pour chopper les réponses direct dans la bdd ?
Merci d'avance !
TinMar 

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg