注册 登录
编程论坛 ASP技术论坛

请教2表混合查询问题!

nicechlk 发布于 2008-10-18 22:49, 681 次点击
我有2个表如下:
1、ClassName(树形菜单表)
字段:id,ClassName
2、UserName(用户表)
字段:id,UserName,limit(权限)
请教:如何让不同权限的用户限制性的使用(看到)ClassName里的菜单项目?
数据库如何设计?查询思路又是什么呢?
谢谢!
6 回复
#2
yms1232008-10-18 23:21
在ClassName里增加limit字段,用户点击菜单项读取ClassName判断是否等于用户的limit
比如
ClassName
 Id    ClassName    Limit
 0       菜单项1   普通用户
 1       菜单项2   普通用户
 2       菜单项3   管理员
 3       菜单项4   管理员
 4       菜单项5   网站站长
 5       菜单项6   网站站长

UserName(用户表)
id,UserName,    limit
0    User1        普通用户
1    User2        普通用户
2    Admin         管理员
3    Adminstrator 网站站长
#3
nicechlk2008-10-18 23:28
2楼的方法的确不错,不过,如果user1和user2的权限也不一样呢?
也就是说,每个用户的权限都可以是不相同的,同样是管理员权限也不一样。
我一直没有理清思路,请指点。
#4
nicechlk2008-10-18 23:40
补充说明:
我想实现这样的效果:
用户登录后,根据他本身的权限来决定树形菜单的显示(不具备当前菜单权限的就不显示,select * from ClassName where ...),该如何做呢?
看看如下思路行不行?
ClassName表
id     ClassName  
1       菜单1
2       菜单2
3       菜单3
。。。。

UserName表
id     UserName  LImit(放入ClassName的id)
1       user1     1,2
2       user2     1,3
3       user3     1,2,3

读出的时候用模糊查询
请指点。

[[it] 本帖最后由 nicechlk 于 2008-10-18 23:53 编辑 [/it]]
#5
yms1232008-10-19 11:33
[bo][un]nicechlk[/un] 在 2008-10-18 23:28 的发言:[/bo]

2楼的方法的确不错,不过,如果user1和user2的权限也不一样呢?
也就是说,每个用户的权限都可以是不相同的,同样是管理员权限也不一样。
我一直没有理清思路,请指点。

可以再建立一个用户组来做
ClassName
Id    ClassName    Limit
0       菜单项1   普通用户
1       菜单项2   VIP用户
2       菜单项3   管理员
3       菜单项4   管理员
4       菜单项5   网站站长
5       菜单项6   网站站长

User(用户表)
id,UserName,    limit
0    User1        普通用户
1    User2        VIP用户
2    Admin         管理员
3    Adminstrator 网站站长
不过楼主的思路也不是不可以
点击菜单项时进行模糊查询
Dim rsUser,ClassID
Set rsUser=Server.CreateObject("ADODB.RecordSet")
ClassID=Trim(Request("ClassID"))
rsUser.Open "select Limit From [User] Where UserName='"&Session("UserName")&"' And Limit Like '%"&ClassID&"%'",conn,1,1
IF rsUser.EOF Then
   Response.Redirect "Error.asp?ErrMsg=您没访问此网页的权限"
End IF
#6
nicechlk2008-10-20 12:42
按你的方法问题解决,谢谢!
#7
awke0022008-10-20 14:15
yms123版主的设计 真不错、、、
1