1.選單
public class menu implements ientity
2. service
@service
public class menuservice extends baseservice
// 最後的結果
listmenulist = new arraylist();
// 先找到所有的一級選單
for (int i = 0; i < rootmenu.size(); i++)
}// 為一級選單設定子選單,getchild是遞迴呼叫的
for (menu menu : menulist)
mapjsonmap = new hashmap<>();
jsonmap.put("menu", menulist);
system.out.println(gson.tojson(jsonmap));
}/**
* 遞迴計算選單
* @param parentid
* @param parentmenu
* @param rootmenu
*/private void getchild(integer parentid, menu parentmenu,listrootmenu) }}
if (childlist.size()>0)
}}
3.
listselectallmenu();}
4.
<?xml version="1.0" encoding="utf-8"?>
from menu a order by a.menu_order asc
5.表
set names utf8mb4;6.set foreign_key_checks = 0;
-- ----------------------------
-- table structure for menu
-- ----------------------------
drop table if exists `menu`;
create table `menu` (
`menu_id` int(10) not null comment '主鍵id',
`menu_name` varchar(64) character set utf8 collate utf8_general_ci not null comment '選單名稱',
`parent_id` int(10) null default null comment '父選單id',
`url` varchar(100) character set utf8 collate utf8_general_ci null default null comment '訪問位址',
`icon` varchar(32) character set utf8 collate utf8_general_ci null default null comment '選單圖示',
`menu_order` tinyint(4) null default 0 comment '選單順序',
primary key (`menu_id`) using btree
) engine = innodb character set = utf8 collate = utf8_general_ci comment = '選單表' row_format = dynamic;
set foreign_key_checks = 1;
insert into `menu` values (1, 'forms', null, 'forms.html', 'fa fa-edit', '0');
insert into `menu` values (2, 'ui elements', null, '', 'fa fa-wrench', '1');
insert into `menu` values (3, 'buttons', 2, 'buttons.html', '', '0');
insert into `menu` values (4, 'icons', 2, 'icons.html', null, '1');
insert into `menu` values (5, 'multi-level dropdown', null, '', 'fa fa-sitemap', '2');
insert into `menu` values (6, 'second level item', 5, 'second.html', null, '0');
insert into `menu` values (7, 'third level', 5, null, '', '1');
insert into `menu` values (8, 'third level item', 7, 'third.html', null, '0');
insert into `menu` values (9, 'third level item', 7, 'third.html', null, '0');
insert into `menu` values (10, 'third level item', 9, 'third.html', null, '0');
insert into `menu` values (11, '4444', 9, 'third.html', null, '1');
7.結果
,
, ]},
, ,]}
]}]}
]} ]
}
PHP無限遞迴選單的實現流程
這幾天看到tp裡關於無線分類搞得蠻火的,各種 亂飛。我也發布乙個我的思路。使用的是遞迴,很簡潔,十行左右。我的資料庫結構是這樣的,我的欄目只有一張表。cid fatherid name 主鍵 父欄目標識 名稱 我看到,很多教程裡說使用類似0 1 2 3這樣的路徑法,還有lv 3的層次法,其實大致都一...
vue遞迴元件實現渲染無限級子選單
最開始我的思路就是去寫js的遞迴,琢磨了半天資料是出來了,我不曉得怎麼去渲染,噗嗤,說來也尷尬,好在危難之際看見了一位大佬詳細解說,一頓操作,嘩嘩就出來了。終究還是我太菜。vue遞迴元件還是很nice的哦 首先,常規操作請求後台介面拿到資料 或者定義乙個假資料的陣列 這是我資料結構 父級陣列裡面有乙...
DROPDOWNLIST無限樹形選單
public void getsubclass dataset ds,int level,string parentid,string sign else string ls if drr3 null drr3.length 0 else lslevel if lslevel 0 lp lp dr2...