2012-04-16 119 views
-2

我有一個項目來做管理功能,所以我的問題是這樣的。我會嘗試儘可能清楚。 我將有一位超級用戶更新其他普通用戶/人(作爲我們的客戶)的所有信息。 客戶/普通用戶登錄時只能看到他們的信息和下載由SUPER-USER上傳的文件,而不會爲普通用戶看到。不同的用戶角色登錄使用PHP和Mysql

所以如果你是客戶:#01你會看到儀表板(歡迎頁面)和你的信息。任何人都可以建議可能的數據庫設計。 如何在用戶和文件表之間使用左/右的sql連接?

UPDATE

我有一個用戶表,以及該用戶屬於公司表。所以基本上我想是這樣的::

$ SQL =選擇users表中的一切,其中的用戶名和傳遞=給定的形式,然後向左或向右的用戶名加入該公司,他屬於。

然後他們會看到他們的信息。如果登錄成功。由於用戶#01屬於公司#03 /#01等等 user表看起來那麼

`id` int(11) NOT NULL AUTO_INCREMENT, 
`fname` varchar(50) NOT NULL, 
'lname` varchar(100) NOT NULL, 
`username` varchar(50) , 
`password` varchar(100) , 
`company` varchar(50) // the company name that ther user belongs to 
PRIMARY KEY (`id`) 

COMPANY表

'id' int(11) not null auto_increment, 
'user_id' int(11) //This is to tie the users to this table 
'description' varchar(text), 
'filename' varchar(25) not null, 
'mimetype' varchar (25) not null 
PRIMARY KEY ('id') 
+0

你做了什麼嗎?我的意思是你不能指望我們從頭開始編寫你的整個數據庫......?! – Manuel 2012-04-16 16:28:30

+0

是的這個問題不適用於正常的SO Q/A格式。你還沒有嘗試過任何代碼? – gorelative 2012-04-16 16:29:17

+0

我仍然在考慮我的桌子的設計,以及我創建它們後如何與它們互動。查看來自問題 – Anele 2012-04-17 07:27:52

回答

0

嗯,這取決於如何簡單或複雜,你要去。像這樣的東西,我通常會保持相對簡單,有一個主要的用戶數據庫(所有用戶)例如:

CREATE TABLE IF NOT EXISTS `user` (
    `user_id` int(255) NOT NULL AUTO_INCREMENT, 
    `user_name` varchar(50) NOT NULL, 
    `user_pass` varchar(100) NOT NULL, 
    `user_permissions` tinyint(1) NOT NULL DEFAULT '0', 
    `active` tinyint(1) NOT NULL DEFAULT '1', 
    `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`id`) 
) ENGINE=MYISAM; 

然後我會在權限可能第二個表取決於有多少權限,我正想有。如果你將要擁有的是用戶和超級用戶,那麼你可能只需將用戶賦值爲0,然後超級用戶的值爲1.

然後在您的PHP腳本中,它會根據用戶的不同「user_permissions」值。

現在,如果你正打算有很多不同級別的權限的話,我肯定會至少創建一個更表定義權限例如:

CREATE TABLE IF NOT EXISTS `permission` (
    `permission_id` int(255) NOT NULL AUTO_INCREMENT, 
    `permission_name` varchar(100) NOT NULL, 
    `permission_value` int(10) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MYISAM; 

然後在權限表中,您可以分配各種不同的權限...讀,寫,發佈,管理,普通用戶,超級用戶等。

這只是一個非常簡單的起點。希望有所幫助。

+0

的更新謝謝你。你的第一張桌子看起來就像我的那張桌子。我只需要超級用戶的兩種權限1,那麼將執行CRUD,其他人將只查看。請看我更新的問題 – Anele 2012-04-17 07:25:01