あなたがここでやっていることは少し複雑で柔軟性がないようですGilles。各行に独自のcategory_idとparent_idを持つデータベーステーブルを作成する方がよいのではないでしょうか。つまり、最上位の親に0のparent_idを指定し、子は親のcategory_idのparent_idを取得します。これにより、深さが無制限になり、ツリーをレンダリングするときにコーディングが容易になります。例:
階層の最初のレベルのSQL-
SELECT * FROM (your_table) WHERE parent_id=0
第2レベルの階層のSQL-
SELECT * FROM (your_table) WHERE parent_id=(category_id of first level)
第3レベルの階層のSQL-
SELECT * FROM (your_table) WHERE parent_id=(category_id of second level)
など...