-2

管理機能を実行するためのプロジェクトが予定されているので、私の質問はこれです。私はできるだけ明確にしようとします。他の通常のユーザー/人々(クライアントである)のすべての情報を更新するスーパーユーザーが1人います。クライアント/通常ユーザーがログインすると、SUPER-USER によってアップロードされた情報とダウンロード ファイルのみが表示され、通常ユーザーには表示されません。

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

アップデート

ユーザーテーブルと、ユーザーが属する会社テーブルがあります。だから本質的に私はこのようなものが欲しい::

$sql = ユーザー テーブル内のすべてのユーザー名を選択し、指定されたフォームに = を渡し、そのユーザー名を所属する会社に左または右に結合します。

その後、彼らは彼らの情報を見るでしょう。ログインに成功した場合。ユーザー #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')
4

1 に答える 1

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;

次に、取得するアクセス許可の数に応じて、アクセス許可の2番目のテーブルを作成できます。ユーザーとスーパーユーザーだけがいる場合は、ユーザーに値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;

次に、アクセス許可テーブルで、あらゆる種類の異なるアクセス許可を割り当てることができます...読み取り、書き込み、公開、管理、通常のユーザー、スーパーユーザーなど。

これは非常に単純な出発点です。それがお役に立てば幸いです。

于 2012-04-16T16:52:48.653 に答える