Hi all,

Voor de puzzelaars onder ons een leuke kwestie...

Ik ben bezig met een folder-systeem.
Mijn tabel (kort):

id | parent_id
m2 | NULL
m21 | m2
m22 | m2
m23 | m2
m26 | m22
m29 | m26
m30 | m26

Een folder heeft dus een id, en een parent_id (dat is de id van de map die boven hem ligt.

Stel, ik wil een map verwijderen moet ik ook al zijn childs verwijderen.
Daarvoor wil ik een array hebben met alle childs.

Hiervoor zijn denk ik 2 functies nodig.

1) getchild($var). Deze functie (heb ik al), geeft een array met alle childs van de map $var.

2) allchilds($var). Deze functie (???), zal in de array moeten zoeken en de getchild() uit moeten voeren en zijn array uitbreiden...

Hoe moet ik dit bouwen? Hoe laat ik hem zichzelf herhalen totdat er geen childs meer zijn en hoe zet ik dat in een nette array?

ps. Ik werk in CakePhp, maar tips zijn op welke manier dan ook welkom!

Alvast bedankt!
Nee, want als je dan van een child van de een alle roots wil hebben, krijg je ook de andere root (en subroots). Wat je wel kan doen is een 'dummy' root maken, die weer de root is van je beide roots. Zo kan je twee bomen bouwen binnen dezelfde tabel, waarbij dus beide bomen een sub zijn van de dummy root.

Reageren