Re: [請益] 該怎麼設計目錄的資料表呢!?
※ 引述《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
推
06/18 12:28, , 1F
06/18 12:28, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 6 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章