[問題] 上下階層的查詢問題

看板java作者 (clcy)時間8年前 (2017/05/26 08:57), 8年前編輯推噓1(105)
留言6則, 4人參與, 最新討論串1/1
各位前輩好,小弟想要作一個功能是類似資料夾目錄的勾選功能,資料結構如下 chk ID NAME UPID 0 1 A 0 0 2 B 1 0 3 C 2 0 4 D 2 0 5 E 1 0 6 F 5 0 7 G 5 0 8 H 7 0 9 I 1 0 10 J 9 用圖示表示會是這樣子: 1------->2-->3 >4 >5-->6 >7-->8 >9-->10 我想作的功能是當我將其中一個CHK改為1時,需要把UPID=我勾選的ID CHK改為1,而 連帶的把再下一層的CHK也改為1。 EX:我改了ID:1,會往下改ID:2、5、9的CHK,而因為3的UPID(2)有被改了,所以3、4 會被改。 我本來用2層for迴圈去作,但是效能很差,請問有更好的方式嗎? 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.49.25 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1495760228.A.97F.html ※ 編輯: conlich (61.221.49.25), 05/26/2017 09:12:44 ※ 編輯: conlich (61.221.49.25), 05/26/2017 15:32:33

05/26 15:43, , 1F
tree
05/26 15:43, 1F

05/26 20:06, , 2F
儲存至檔案或資料庫?
05/26 20:06, 2F

05/26 20:50, , 3F
如果是存db的話,先把整顆tree的id撈出來,然後做batc
05/26 20:50, 3F

05/26 20:50, , 4F
h update
05/26 20:50, 4F

07/14 09:22, , 5F
謝謝大家建議,後來我用階層去判斷如果遇到1表示回到主
07/14 09:22, 5F

07/14 09:23, , 6F
錄,就直接跳離迴圈了,這樣子至少不用掃全部的階層.
07/14 09:23, 6F
文章代碼(AID): #1P9trab_ (java)
文章代碼(AID): #1P9trab_ (java)