Het lijkt een beetje ingewikkeld en inflexibel wat je hier doet Gilles. Zou het niet beter zijn om uw databasetabel te maken waarbij elke rij zijn eigen category_id en een parent_id heeft? dwz geef de ouders op het hoogste niveau een parent_id van 0 en de kinderen nemen de parent_id van de category_id van hun ouder. Dit zou je onbeperkte diepte geven en zal gemakkelijker te coderen zijn wanneer je de boom rendert. Bijvoorbeeld:
SQL voor uw eerste hiërarchieniveau -
SELECT * FROM (your_table) WHERE parent_id=0
SQL voor uw tweede hiërarchische niveau -
SELECT * FROM (your_table) WHERE parent_id=(category_id of first level)
SQL voor uw derde hiërarchische niveau -
SELECT * FROM (your_table) WHERE parent_id=(category_id of second level)
enzovoort...