2012-01-21 162 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表中,這就是它。加入他們使用一個簡單的連接,就像我在例子中寫的那樣。 –