作者rickysu (Ricky)
看板PHP
标题Re: [请益] 该怎麽设计目录的资料表呢!?
时间Tue Jun 18 12:25:40 2013
※ 引述《kingoface (桑原)》之铭言:
: ※ 引述《dinos (守护神)》之铭言:
: id node left right level
: 1 index 1 20 0
: 2 pageB 2 13 1
: 3 pageC 3 6 2
: 4 pageD 4 5 3
: 5 pageE 7 12 2
: 7 pageF 8 11 3
: 8 pageG 9 10 4
: 9 pageBBB 14 19 1
: 10 pageCCC 15 18 2
: 11 pageDDD 16 17 3
MPTT的的精神就是利用一次的 query 找出要的节点,避免递回。
例如找出 id=5 底下所有的子树(left =7 , right = 12)
SELECT * FROM menu WHERE left > 7 AND right < 12;
同样的如果要限制只找出下一个阶层的节点
SELECT * FROM menu WHERE left > 7 AND right < 12 AND level = 3;
如果要找出全部父节点(按阶层排序)
SELECT * FROM menu WHERE left < 7 AND right > 12 ORDER BY left DESC;
如果只要找他的老爸
SELECT * FROM menu WHERE left < 7 AND right > 12 ORDER BY left DESC LIMIT 1;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.136.115
1F:推 kingoface:原来是这样!感谢大大指点。我搞错方向了XD 06/18 12:28