2012-01-21 132 views
0

即时通讯做项目的学校......以及新的PHP和mysql..just学习..用户权限

我要创建一个loginpage有3级不同的用户喜欢受文者,校长和工作人员

在表中的字段

我有什么类型给像ENUM或SET .. 我要为科尔,1 princi和3为员工分配0 ..

如何做到这一点,并shud我给在任何领域在PHP中的登录页面??

但即时将创建只有2桌一个科尔和另一种是为员工

校正表字段R corrs_id,用户名,密码,staff_id,staff_role

职员表字段R staff_id,staff_role,名称,资格,地址,国家等...

这两个表都有2个公共字段staff_id和staff_role 现在如何连接2个表,当给出用户名和密码时,首先检查staff_role,如'princ'或'staff'

请帮我....

+4

拜托,如果你正在使用复制和粘贴至少去掉无关的东西,你不小心crossposting东西复制... – ThiefMaster

回答

0
  1. 不要让两个相同的字段2个表,如果你能干掉一个。首先阅读关于数据库规范化

  2. 从corr表中删除staff_role字段,并只留下staff_id加入两个表,如上所述。

  3. 两个表是可连接使用这个确切staff_id


select u.name,r.role from users u 
inner join roles r 
on u.role_id=r.id 
where r.role='princ' and u.username='bleh' and u.password='bleh' 

干杯

+0

好的如何加入3个表与一个共同的领域像.. table1:c_id,用户名密码,c_role分配为1和table2:p_id,用户名,密码,c_role分配为2和tabl e:s_id,用户名,密码,c_role和通用字段是c_role,分配为3 – user1162243

+0

这听起来像是一个错误的架构.3个带有3个相同字段的表?在这种情况下,你只需要像2个表一样,如USERS表和ROLES表等。 role_id将位于引用ROLES表中主键ID的USERS表中,这就是它。加入他们使用一个简单的连接,就像我在例子中写的那样。 –