入れ子集合モデルのデータをリスト表示させたい
入れ子集合モデルでデータを取得しました。
それをリスト表示したいのですが、そのアルゴリズムがわかりません。
どのようにすればいいのでしょか?
再帰呼び出しをしたのですが、これ自体よくわかっていなくて、無限ループしてしまいました。(この部分は、あわててソースを変更したのでありません。)
よろしくお願いします。
----------------------------------------------
【入れ子集合モデルを参考にしたページ】
http://www.geocities.jp/mickindex/database/db_tree_ns.html
http://www.makizou.com/archives/1637
【取得したデータ例】
SELECT node.name, (COUNT(parent.name) - 1) AS depth
FROM node AS node,node AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
GROUP BY node.name
ORDER BY node.lft;
+------------------------+-------+
| name | depth |
+------------------------+-------+
| Apple | 0 |
| コンピューター | 1 |
| デスクトップPC | 2 |
| タワー型 | 3 |
| 一体型 | 3 |
| ラップトップPC | 2 |
| ハンドヘルドPC | 2 |
| デジタル音楽プレーヤー | 1 |
| 携帯電話 | 1 |
| ソフトウェア | 1 |
+------------------------+-------+
【やりたいリスト表示】
<ul>
<li>Apple
<ul>
<li>コンピューター
<ul>
<li>デスクトップPC
<ul>
<li>タワー型</li>
<li>一体型</li>
</ul>
</li>
<li>ラップトップPC</li>
<li>ハンドヘルドPC</li>
</ul>
</li>
<li>デジタル音楽プレーヤー</li>
<li>携帯電話</li>
<li>ソフトウェア </li>
</ul>
</li>
</ul>
お礼
mmmmaさん、早速のご回答をありがとうございました。 見方がわからなくて、おろおろしてしまいましたが ご説明を読んでスッキリしました。 またよろしくお願いいたします。