10/10/2018, 09:51

Xin hướng dẫn làm menu đa cấp

em có 2 bảng: category và subcategory, subcategory thì có ràng buộc khóa ngoại tới category. Em muốn menu của mình load từ csdl lên chứ không thêm thủ công. Em không biết dùng cái gì để làm, dùng treeview thì xấu, có dấu + đằng trước nhìn không ra làm sao, định dạng cũng khó. Mong mọi người giúp đỡ. Em làm web bằng asp.net 3.5. Thanks
một ví dụ tương tự:

hiruma viết 11:54 ngày 10/10/2018
Load kiểu đó khá nặng đầy .Ít thì dc.Chứ nhiều record là không ổn
DICKU viết 11:58 ngày 10/10/2018
Em thấy trang nào người ta cũng load lên chứ không thêm thủ công.
thuyduongcd viết 12:01 ngày 10/10/2018
Đã biết thêm thủ công rồi thì việc load từ DB lên có khó gì đâu.
VD: table category gồm (id, name), table subcategory gồm (id, name, parentid)
đầu tiên "select * from category" vào 1 mảng, rồi dùng vòng lặp for each lặp hết mảng, trong mỗi lần lặp, ta lại query "select * from subcategory where parentid=''" rồi echo nó ra là xong ngay có gì đâu. Chịu khó suy nghĩ chút đi
Adam viết 12:06 ngày 10/10/2018
Ai lại làm thủ công.Nên dùng 1 table thôi.VD:category(cat_id,cat_parent_id,cat_title,c at_sort).Sau đó viết đệ qui,muốn N cấp cũng đc.Muốn bao nhiêu cấp thì định nghĩa,vd:define("CAT_LEVEL",2);// 2 cấp.
Còn việc hiển thị ra thì dùng cái gì thì tùy.Có thể dùng js,jquery... thì tùy bạn.
DICKU viết 11:54 ngày 10/10/2018
xin cảm ơn mọi người đã giúp.
TheHeTre viết 12:03 ngày 10/10/2018
1) Làm thư mục 2 cấp (cha con) thì có thể sử dụng phương án thêm parent_id.
2) Nếu làm từ 3 cấp trờ lên, nên thiết kế database theo cách thích hợp cho việc này bằng cách sử dụng right point, left point.
Chi tiết google "nested category"

Trên sitepoint.com cũng có 1 article rất tốt về khoản đệ quy thư mục này.
Bài liên quan
0