Tampaknya agak rumit dan tidak fleksibel apa yang Anda lakukan di sini Gilles. Bukankah lebih baik untuk membuat tabel database Anda dengan setiap baris memiliki category_id dan parent_id sendiri? yaitu memberikan parent_id tingkat atas dari 0 dan anak-anak mengambil parent_id dari category_id orang tua mereka. Ini akan memberi Anda kedalaman tak terbatas dan akan lebih mudah untuk membuat kode saat Anda merender pohon. Misalnya:
SQL untuk hierarki tingkat pertama Anda -
SELECT * FROM (your_table) WHERE parent_id=0
SQL untuk hierarki tingkat kedua Anda -
SELECT * FROM (your_table) WHERE parent_id=(category_id of first level)
SQL untuk hierarki tingkat ketiga Anda -
SELECT * FROM (your_table) WHERE parent_id=(category_id of second level)
dan seterusnya...