Scheint ein bisschen kompliziert und unflexibel zu sein, was du hier machst, Gilles. Wäre es nicht besser, Ihre Datenbanktabelle so zu erstellen, dass jede Zeile eine eigene category_id und eine parent_id hat? dh geben Sie den Eltern der obersten Ebene eine parent_id von 0 und die Kinder nehmen die parent_id der category_id ihrer Eltern. Dies würde Ihnen unbegrenzte Tiefe geben und ist einfacher zu codieren, wenn Sie den Baum rendern. Zum Beispiel:
SQL für Ihre erste Hierarchieebene -
SELECT * FROM (your_table) WHERE parent_id=0
SQL für Ihre zweite Hierarchieebene -
SELECT * FROM (your_table) WHERE parent_id=(category_id of first level)
SQL für Ihre dritte Hierarchieebene -
SELECT * FROM (your_table) WHERE parent_id=(category_id of second level)
und so weiter...