1. 程式人生 > 資料庫 >web前端從Oracle資料庫載入動態選單所用到的資料表

web前端從Oracle資料庫載入動態選單所用到的資料表

當我們在使用一款軟體或者使用某某管理系統的時候,都會使用到分級選單來給我們清晰的展示出其功能模組。而這些分級選單呢,是需要通過對資料庫的呼叫才能展示給我們的。今天,我就主要介紹一下製作分級選單我們所要用到的資料表。

1、選單表

create table menu( 
 menu_id   number(10) primary key,menu_name   varchar(30),menu_url   varchar(200),parent_menu_id   number(10) 
); 
 
/*如果選單是一級選單,p_menu_id為0*/ 
insert into menu values(1,'圖書管理','',0); 
insert into menu values(2,'訂單管理',0); 
insert into menu values(3,'使用者管理',0); 
insert into menu values(4,'系統設定',0); 
insert into menu values(5,'圖書展示','/system/updatePassword.action',1); 
insert into menu values(6,'新增圖書',1); 
insert into menu values(7,'訂單分類',2); 
insert into menu values(8,'新建訂單',2); 
insert into menu values(9,'使用者資訊',3); 
insert into menu values(10,'使用者資訊設定',3); 
insert into menu values(11,'管理員資訊',4); 
insert into menu values(12,'管理員許可權設定',4); 

2、角色表

create table role( 
 role_id number(10) primary key,role_name varchar(20) 
); 
insert into role values(1,'管理員'); 
insert into role values(2,'銷售總監'); 

3、使用者表

create table users( 
user_id number(30),user_name varchar2(40),user_password varchar2(40),user_sex char(3),user_phone varchar2(50),user_email varchar2(60),user_img varchar2(40) 
); 
create sequence seq_u; 
insert into users(user_id,user_name,user_password,user_sex,user_phone,user_email,user_img)values(seq_u.nextval,'黃飛鴻','1111qa','男','15000102345','[email protected]',null); 

4、角色選單表

create table role_menu( 
 id number(10) primary key,role_id number(10),menu_id number(10) 
); 
/*錄入角色和選單的初始資料*/ 
insert into role_menu values(1,1,1); 
insert into role_menu values(2,2); 
insert into role_menu values(3,3); 
insert into role_menu values(4,4); 
insert into role_menu values(5,5); 
insert into role_menu values(6,6); 
insert into role_menu values(7,7); 
insert into role_menu values(8,8); 
insert into role_menu values(9,9); 
insert into role_menu values(10,10); 
insert into role_menu values(11,11); 
insert into role_menu values(12,12); 

5、角色使用者表

create table role_user( 
 id number(10) primary key,user_id number(10) 
); 
/*錄入角色和選單的初始資料*/ 
insert into role_user values(1,1); 
insert into role_user values(2,2,2); 

資料表建好之後,前端通過

select distinct * 
from users u inner join role_user ru 
    on u.user_id = ru.user_id inner join role_menu rm on ru.role_id = 
    rm.role_id inner join menu m on m.menu_id = rm.menu_id 
    where u.user_id =1 

這麼一條SQL語句即可呼叫使用者ID所對應的系統選單。

可顯示如上:

效果圖:

總結

以上所述是小編給大家介紹的web前端從Oracle資料庫載入動態選單所用到的資料表,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!