MySQL にいくつかの階層データを保存しています。さまざまな理由から、(ネストされたセットや隣接リストなどの代わりに) クロージャ テーブルを使用することにしました。これまでのところうまく機能していますが、現在、このツリーを HTML で実際に表示する方法 (つまり、正しいインデントを使用) を理解しようとしています。
例として、私がそのような木を持っているとしましょう...
- 食べ物
- 果物
- りんご
- 洋ナシ
- 野菜
- 人参
- 果物
私の「Foods」テーブルは次のようになります...
[ID] [PARENT_ID] [NAME]
1 0 Food
2 1 Fruits
3 1 Vegetables
4 2 Apples
5 2 Pears
6 3 Carrots
私の「閉鎖」テーブルは次のようになります...
[PARENT] [CHILD] [DEPTH]
1 1 0
2 2 0
3 3 0
4 4 0
5 5 0
6 6 0
1 2 1
1 3 1
1 4 2
1 5 2
1 6 2
2 4 1
2 5 1
3 6 1
今、理想的にはこのように、これをHTMLで正しく表示するにはどうすればよいのだろうかと思っています...
<ul>
<li>Food
<ul>
<li>Fruits
<ul>
<li>Apples</li>
<li>Pears</li>
</ul>
</li>
<li>Vegetables
<ul>
<li>Carrots</li>
</ul>
</li>
</ul>
</li>
</ul>
...これは、質問の冒頭にあるように、ツリーを箇条書きで表示します。とにかく、どんな助けでも大歓迎です!
チャールズ