CREATE TABLE M_ADMIN (
ID NUMBER(6) DEFAULT 0 NOT NULL,
UR_ID VARCHAR2(20),
FORUM_ID NUMBER(6) DEFAULT 0 ,
FL NUMBER(1) DEFAULT 0);ALTER TABLE WHAM_ADMIN ADD (
PRIMARY KEY ( ID ));CREATE UNIQUE INDEX XPKWHAM_ADMIN ON WHAM_ADMIN ( ID );
ID NUMBER(6) DEFAULT 0 NOT NULL,
UR_ID VARCHAR2(20),
FORUM_ID NUMBER(6) DEFAULT 0 ,
FL NUMBER(1) DEFAULT 0);ALTER TABLE WHAM_ADMIN ADD (
PRIMARY KEY ( ID ));CREATE UNIQUE INDEX XPKWHAM_ADMIN ON WHAM_ADMIN ( ID );
FID NUMBER(6) NOT NULL,
TOPICS NUMBER(6) DEFAULT 0 ,
POSTS NUMBER(6) DEFAULT 0 ,
PARENT_ID NUMBER(6) DEFAULT 0 ,
NAME VARCHAR2(128),
DESCRIPTION VARCHAR2(1024),
STATUS VARCHAR2(10),
PASSWORD VARCHAR2(32),
SORT_ORDER NUMBER(3) DEFAULT 0 ,
PICTURE VARCHAR2(255),
GAME_KIND VARCHAR2(1) DEFAULT '1');ALTER TABLE WHAM_FORUMS ADD (
PRIMARY KEY ( FID ));CREATE UNIQUE INDEX XPKWHAM_FORUMS ON M_FORUMS ( FID );
我现在的想法是 把管理员先单独提出来
这样就剩下斑竹和编辑
比如用户a,对板块a有a权限和板块b的c权限,表示如下:
a b c d
ban_a o x x x
ban_b x x o x
ban_c x x x x
用户b是板块c的斑竹,则他的权限表示如下
a b c d
ban_a x x x x
ban_b x x x x
ban_c o o o o
这样的程序该怎么写?数据库怎么建呢?
把板块和板块权限放在数组里,如
$bankuai=array(ban_a,ban_b,ban_c);
板块权限数组 $ban_quanxian=array(a,b,c,d)
然后建立一个权限表,字段为(user_id,buankuai_id,banquanxian_id)
判断的时候就要 分两步了,先判断是否在该板块,然后看他是否有响应的权限
一个基本用户表(包含权限类别字段),管理员表,斑竹表,编辑表.斑竹表里存版块名就可以了,编辑表里设置一个字段存入字符串,类似|||bankuai_id,action_id|||.....应该可以达到你的要求.
hb_lv at hotmail dot com
人员等级无限分类。
权限无限分类。