Parcours prefixe d'un arbre.

WRInaute discret
Bonjour,

Je cherche un code php qui permet de parcourir en profondeur un arbre sachant que l'ordre ou le parcours est prefixé.

j'ai deux tables dans la base mysql:

table parent qui contient les id_parents + les nom des père

et un table fils qui contients 3 colonnes id_parents , id_fils et nom de fils.

Bon, j'aimerai faire un code php qui permet de parcourir en php ces deux tables et afficher les fils et les nombres de fils de chaque parent en commencant de racine (qui est le premier id_parent de table parent.): afficher sous chaque père ses fils

------------------------table parent-------------------------------------------

id_parent | Nom
2 | Père1
4 | Père2
9 | Père3


------------------------table fils-------------------------------------------

id_parent | id_fils | Nom
2 | 3 |Eric
4 | 5 |Romei
9 |12 |Lilya

Voila et merci d'avance de votre aide.

Cdt.
 
WRInaute accro
Perso, je ne comprends pas la logique de ta structure... Si c'est un arbre avec un nombre de niveaux qui n'est pas prédéfini, tu devrais avoir deux tables:
nœud: id -> nom
lien: id parent -> id fils

Là, ta structure a l'air vaguement adaptée au cas d'un arbre à deux niveaux (trois en comptant la racine implicite), pas plus.

Si ton arbre a plus de niveaux que ça, la seule solution qui marche dans tous les cas (avec une structure telle que décrite plus haut, pas celle que tu décris), c'est du code récursif.

Jacques.
 
WRInaute discret
ok j'explique ,

alors le principe est simple:

j'ai un programme qui à partir de lui, un membre fait l'inscription, alors automatiquement un id (auto-incrément)sera attribué à ce dernier et sera enregistré dans la colonne id de table membre.

Après l'inscription, ce membre passe à une deuxième étape pour inviter d'autres amis .Les amis invités seront enregistrés dans la table inviter , un id (auto-incrément) sera attribué pour chaque invité dans la colonne id de table invité, l'adresse email de l'invité sera inséré dans la colonne email et au fur et à mesure l'id de membre qui a envoyé l'invitation sera inséré en parallèle dans la colonne id_mem de table invité.

sachant que chaque membre peut devenir un membre s'il a accepté l'invitation et comme ca , il sera redirigé vers le site pour introduire son adresse email , alors un id auto incrément sera attribué à ce dernier, son adresse émail sera insère dans la colonne email de table membre et il peut lui aussi envoyé des invitation à d'autres amis.
alors comment savoir si un invité a devenu membre? c'est à partir de son adresse émail que existe dans le deux tableaux.

bon je veut faire un programme qui permet de calculer les nombres de fils de chaque invité sur 40 niveau.
Si X invite Y, Y invite Z , Z invite H
alors Y parent de z de niveau 1 , Y parent de H de niveau 2
donc on dit z fils de y niveau 1 et Y fils de Y niveau 2

j'espère que vous avez compris.

Cdt.
 
WRInaute discret
un mail sera envoyé pour chaque invité , pour confirmer son invitation il doit faire l'inscrit , donc il devient un membre à condition que l'adresse émail saisi dans la table membre soit le même que ce de la table inviter .
 
Discussions similaires
Haut