Re: [請益] PHP怎麼寫樹狀清單
※ 引述《knuckles (那克斯)》之銘言:
: ※ 引述《wallsem (小樂)》之銘言:
: : 最近想用php寫樹狀清單
: : 想問一下~要怎麼寫?!
: : 我要資料庫新增,目錄或子目錄就會增加...
: : 一定要用迴圈才可以嗎~~
: : 有沒有其他的方法!!
: php怎麼做樹狀結構我以前也想了好久
: 講一下我現在的做法,給你參考一下
: 像這樣的樹狀結構: 只要在資料庫存成:
: + A + E id name parent_id
: | |
: | + F + I 1 A 0 每個node都有一個id
: | | 2 B 0 以及這個node的上層(parent)
: | + J 3 C 0 是哪個node
: | 4 D 0
: + B + G 5 E 1
: | | 6 F 1
: | + H 7 G 2
: | 8 H 2
: + C 9 I 6
: | 10 J 6
: + D
: 一開始只要把parent是0的node列出來,即為第一層選單
: 如果選擇A進入(A的id為1),就把parent為1的node列出來,即為A的下一層選單:E、F
: 選擇F進入(F的id為6),就把parent為6的node列出來,即為F的下一層選單:I、J
: 如果要回上一層,就找出id為6的node F,他的parent為 1,把parent是1的node列出來,
: 就回到上一層選單了
不介意的話不妨參考一下,
雖然是用ruby寫的,不過裡面的東西應該差不了太多
strSrc可以代入空字串(這是小弟拿來加prefix用的)
def render_elem(strSrc, tid)
dstString = ""
t = Trouble.find_by_id(tid)
if t.child_ids.size > 0
t.child_ids.each do |elem|
temp = Trouble.find_by_id(elem)
if temp.is_end?
dstString += "<li><span class=\"file\"><a href=\"#{trouble_path(temp)}\">#{temp.name}</a></span><ul>#{render_elem(strSrc, elem)}</ul></li>"
else
dstString += "<li><span class=\"folder\">#{temp.name}</span><ul>#{render_elem(strSrc, elem)}</ul></li>"
end
end
end
return dstString
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.10.5.203
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
0
18