2017-12-18 14 views
0

私は現在、異なるクライアントアカウントと1つのデータベーステーブルを使用して、私の学校プロジェクトに取り組んでいます。これは、ユーザーがWebフォームを介して情報を保存できるデータベースですが、私が知りたいのは、すべてのデータが1つのdbテーブルに格納されるため、この連絡先をどのように分割して保存されたデータのみを表示するかです。 User1とUser2の -異なるユーザーアカウント間でMysql DBテーブルを共有する

は例えば、私は今、これらの2つのユーザーアカウントによって共有されるclientiと呼ばれるデータベースと列の高さ、髪の色などと表...

を持っています。

ユーザー1は、入力したデータのみを表示でき、ユーザー2にも同じことが適用されます。

私はこれを達成するための最良の方法は何ですか?

私はあなたの説明& /または提案をいただければ幸いです。

ありがとうございます。

これを行うための最善の方法は、レコードを所有しているユーザーIDでデータベースに追加の列を持つことである:コメントについては詳しく説明し

+0

データを挿入したユーザー名(またはそのID)を格納できるテーブルに別の列を追加します。 – Levin

+0

これは、マルチテナントWebアプリケーション*とも呼ばれます。あなたはあなたのお気に入りの検索エンジンでそれを見ることができます。 –

+0

こんにちはレビン、ありがとう、私はすでにあなたが知っていることについて考えていたが、ここでは、適切なテーブルをトリガする別々のPHPアクセスファイルを作成しなければならない、100人のような人がいたら、 IDなしのテーブルIDを持つ各ユーザの100個の.phpファイル。 – Christopher

答えて

0

。このユーザーIDは、ユーザーが他のユーザーのデータにアクセスできないようにユーザーが変更することはできません。

ユーザーに代わってデータベースを照会すると、照会にはwhereステートメントがあり、user_idは要求を出しているユーザーのユーザーIDと等しくなります。

同じことを達成するためのより複雑な方法は、各ユーザーごとに個別のデータベースまたはテーブルを用意することです。ほとんどの場合、分離のためにパフォーマンスの向上が起きる可能性のあるデータがない限り、これは悪い考えです。

+0

Davidに感謝しますが、全体的には1DBと複数のテーブル、各ユーザの各テーブルがあるので、唯一のテーブルデータが重複しています名前を変更してください....でも、ユーザーごとに同じプロセスが実行されることになります – Christopher

関連する問題