affichage d'un arbre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : affichage d'un arbre

par Invité » 15 déc. 2006, 14:56

oui Ajoloca j'ai toujours dans ma table un et un seul champ dont son id_pere = 0 (c'est la racine ) c'est une hypothèse que j'ai fais dans ma base , et je veux déjà l'essayer pour un seul arbre et puis pour quoi pas pour plusieurs arbres !! :D

par Ajoloca » 15 déc. 2006, 13:39

Bonjour,

C'est sur que tu dois utiliser la récursivité.

Dans ton cas tu supposes que le id_pere 0 existe, et si c'est pas le cas ???
Une simple suppression et ta requête ne retourne rien.

Et le id_pere = 1, 2, 3, etc... que devienent-ils ???

par Invité » 15 déc. 2006, 13:23

Merci Ajoloca
Essaie dans un premier temps de construire la requête qui va extraire de ta table les données dans un ordre exploitable avec des "GROUP BY" et "ORDER BY"

mais je pense qu'on doit pas tous faire dans une seule requête mais à chaque fois et récursivement on mis dans la partie gauche de array() le pere et tous ses fils dans la partie droite (WHERE Id_pere = id)
exemple :

Code : Tout sélectionner

array(racine => array( pere =>fils1 , fils2, fils3 => petit_fils ..))
en gros ca va faire quelque chose de genre :

Code : Tout sélectionner

$montab = array(); $res = mysql_query("SELECT * FROM matable WHERE id_pere = 0"); //pour la racine while($row = mysql_fetch_assoc($res)){ $montab[$row["nom"]] = array(); $res2 = mysql_query("SELECT * FROM matable WHERE id_pere = ".$row["id"]); while($row2 = mysql_fetch_assoc($res2)){ // et ca continue en remplissant $montab[$row["nom"]][$row2["nom"]] .... } }
mais j'ai voulus changer un peut l'idée du programmeur de script et tous faire dans une boucle (normalement selon le nembre max des fils d'un pere )

Merci

par Ajoloca » 15 déc. 2006, 03:16

Bonsoir,

Si tu est débutant, je crois que tu t'attaques à un os dur à ronger.

Le PB c'est pas le script dont tu donnes le lien, c'est de construire ton tableau en partant de la base.

Essaie dans un premier temps de construire la requête qui va extraire de ta table les données dans un ordre exploitable avec des "GROUP BY" et "ORDER BY".

Une fois que tu auras ça, les difficultés commencent.

Si tu n'as qu'un seul abre c'est encore jouable, si tu en as plusieurs je ne suis pas sur que les infos que tu nous montres dans ta table soient suffisantes.
Ou alors tu devras procéder avec plusieurs requêtes et des critères de sélection au départ.

Fais déjà la première étape et on véra par la suite.

affichage d'un arbre

par bwwilly » 15 déc. 2006, 02:57

Salut :)
en fait j'ai une table pour enregistrer un arbre :
id | nom | id_pere

et je veux l'afficher en php en utilisant le systeme d'explorer windows (lorsque je clique sur un père ca m'affiche tous ses fils et pour les fils aussi ...)
en faite j'ai trouvé ce script mais vue que je suis vraiment encore débutant j'ai pas su comment l'utiliser pour afficher un contenu dynamique
lien de script : http://php.developpez.com/sources/?page=phpjs#tabphpjs

Merci d'anvance !!
n'oubliez pas je suis DDDDubétant !!