|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité(e)
Messages : n/a ![]() |
Bonjour,
J'ai encore besoin de vos lumières pour l'enregistrement d'un tableau avec une fonction récursive . voilà ma fonction : Code :
Ce que j'obtiens : Code :
Code :
une idée ? Merci. |
||||||
00
|
|
|
#2 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
pas besoin de récursif pour ca, de l'itératif suffis c'est très facile a faire avec les références.
Ps: pour parcourir un tableau c'est foreach pas for array_push n'est pas optimiser pour insérer qu'une seule valeur, fait $array[] EDIT : un exemple de code Code :
__________________
http://blog.stealth35.com/ |
||
|
|
00
|
|
|
#3 |
|
Invité(e)
Messages : n/a ![]() |
ok, merci, mais ça ne fonctionne pas.
En fait je lance une première requête Code sql :
SELECT page_id FROM TABLE WHERE parent_id = 0; Puis pour chaque enregistrement je lance une requete Code sql :
SELECT page_id FROM TABLE WHERE parent_id = page_id; Puis pour chaque enregistrement je lance une requete Code sql :
SELECT page_id FROM TABLE WHERE parent_id = page_id; Mais je me demande si je ne devrais pas faire comme toi (moins de requêtes donc moins de ressource ): je lance une requête qui sélectionne toutes les pages et je traite chaque ligne retournée par la requête. Mais si je fais comme cela, y a t'il moyen de trier via une colonne "hierarchy" ? Dernière modification par Deepin ; 07/03/2011 à 06h53. Motif: Merci d'utiliser la balise [code] (bouton #) de l'editeur. |
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
il faut tout récupérer d'un coup, après ca dépend comment est fait ta table, si t'a le path ou pas si t'as une notion de profondeur ou pas
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 |
|
Invité(e)
Messages : n/a ![]() |
pour la table "pages"
J'ai les colonnes suivantes : 'page_id','group_id','page_name','url','parent_id',' hierarchy','create_date','modified_date' |
00
|
|
|
#6 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
à quoi correspond hierarchy ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#7 |
|
Invité(e)
Messages : n/a ![]() |
Hierarchy est l'ordre d'affichage
|
00
|
|
|
#8 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
donc t'as seulement parent_id pour créer l'arbre.
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#9 | ||
|
Invité(e)
Messages : n/a ![]() |
oui, parent_id
j'ai testé ça sans succès car je bloque sur le array_key_exist(). Et il n'y a pas le tri pour l'affichage (hierarchy). Code :
|
||
00
|
|
|
#10 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
pas simple de faire ca en adjancy list, mon code est pour un type path enumeration
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#11 |
|
Invité(e)
Messages : n/a ![]() |
voilà des termes techniques que je ne connais pas lol
Arf, je vais retenter ma chance avec la récursivité. Merci quand même pour ton aide. |
00
|
|
|
#12 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
tu peux faire comme ca :
Code :
__________________
http://blog.stealth35.com/ |
||
|
|
00
|
|
|
#13 |
|
Invité(e)
Messages : n/a ![]() |
ok,merci. Je vais voir ça.
|
01
|
|
|
#14 |
|
Invité(e)
Messages : n/a ![]() |
Bon, je laise définitivepment tomber les "foreach" lol
Dernière modification par Invité2 ; 06/03/2011 à 19h47. |
01
|
|
|
#15 |
|
Invité(e)
Messages : n/a ![]() |
Bon, je laisse définitivement tomber les "foreach" lol
le résultat n'est pas celui que je voulais car le tri n'est pas bon(me suis peut être trompé quelque part) Je vais retenter ma chance avec la récursivité lol Merci pour ton aide. |
00
|
|
|
#16 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
le tri est à faire après, avec array_multisort, fait aussi un ORDER BY parent, hierachy
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#17 |
|
Invité(e)
Messages : n/a ![]() |
Ca marche ! J'ai juste ajouté le tri sur parent_id en plus de hierarchy dans la requête.
Demain, je remet ca pour smarty. Merci beaucoup pour ton aide stealth35 |
00
|
Copyright © 2000-2012 - www.developpez.com