2012-04-16 3 views
-2

でログインするために私はこのプロジェクトは私の質問はこれですので、管理機能を実行するために来ています。私はできるだけ明確にしようとします。 私は他の正規ユーザー/人(私たちのクライアントである)のすべての情報を更新するSUPER-USERを1人持っています。 クライアント/レギュラーユーザーがログインだけ自分の情報を参照し、SUPER-USERによってアップロードされたファイルをダウンロードして、正規のユーザーに対して表示されません。異なるユーザの役割は、PHPとMySQL

あなたがクライアントであればそう:#01ダッシュボード(ウェルカムページ)とあなたの情報が表示されます。誰もこのための可能なデータベース設計を提案することはできますか? ユーザーテーブルとファイルテーブルの間で左右のSQL結合を使用する方法はありますか?

UPDATE

私は、ユーザーテーブルだけでなく、ユーザーが属する会社のテーブルを持っています。だから、基本的に私は=このような何か::

$ sqlをしたいユーザ名と、その後、指定されたフォームに=渡しが左または右、彼はに属していることを会社にそのユーザ名の参加ところusersテーブル内のすべてを選択します。

その後、彼らは彼らの情報が表示されます。正常にログインした場合。ユーザ#01#03 /#01などの会社に属している... USER TABLEはそう見えるので

`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

+0

ええ、この質問は通常のSO Q/Aフォーマットには適用されません。あなたは全くコードを試してみませんか? – gorelative

+0

私はまだ自分のテーブルのデザインと、それを作成したらどのように私がそれらと対話するかについて考えています。質問 – Anele

答えて

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"の値。

今、あなたは権限の異なるレベルの多くを持ってしようとしているならば、私は間違いなく、権限の例を定義するために少なくとももう1つのテーブルを作成します。

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

からの更新を参照してください。あなたの最初のテーブルは私が持っているもののように見えます。私は、他の人が見ているCRUDを行うSUPER-USERには2種類の許可1が必要です。私の更新されたquestioを見てください – Anele

関連する問題