Userabhängige Datensätze per Checkbox

Neo2400

Mitglied
Hi Leute!
Habe eine generelle Frage zu der Realisierung folgender Situation:

Meine Website hat einen internen Bereich.
Dort können sich verschiedene User einloggen. Berechtigungsstufen gibt es auch.
Nun möchte ich jedoch neben den Berechtigungsstufen Projekte für verschiedene User anzeigen lassen (quasi unabhängig von der Berechtigungsstufe)

Ich möchte per Checkboxen bei der Projektübersicht wählen können, welcher User welches Projekt sehen darf.
Das würde heißen, das es in MYSQL eine Tabelle mit usern gibt. Und eine Spalte mit "zugängliche Projekte" oder so ähnlich. Nun soll aber ein bestimmter User nicht nur immer ein Projekt angezeigt bekommen, sondern alle, die per Checkboxen oder ähnliches ausgewählt sind.

Der Admin darf natürlich alles sehen.

Wie kann ich so etwas realiseiren? Stehe da irgendwie auf dem Schlauch!

Gruß Neo
 
Von den Beziehungen hab ich schon gehört...

Also ich habe jetzt folgende Tabelllen:

users,
projects,
rights (für die Berechtigungsstufen)

Wie kann ich z. B. mehrere Project ID's einem User zuweisen (sodass er Berechtigt ist, diese einzusehen)

Man kann doch nicht mehrere Zahlen in eine Spalte eintragen oder doch?

UserID UserName ViewableProjects
1 Test 3, 4, 5, 9, 10
2 Heinz 1
3 Klaus 10, 11
4 Bernd 5

Tabelle Projects is ja dann eine M Beziehung

ProjectID Name User
1 Project1 2
2 Project2
3 Project3 1
4 Project4 1
5 Project5 1, 4


wäre das dann net ne M-M beziehung? Naja wie auch immer, ich weis nicht genau wie ich das realisieren soll und wie dann die Abfrage aussieht?
...
 
Deswegen ja die zusätzliche Tabelle, um die n:m-Beziehung zwischen den anderen beiden zu modellieren.
 
Tabelle user:

id name [andere Felder]

Tabelle projekte:

id name [andere Felder]

Tabelle projektrechte

id projekt_id user_id

n:m Beziehung heißt, dass einem Datensatz in Tabelle A unbegrenzt viele Datensätze in Tabelle B zugeordnet werden können und umgekehrt. Tabelle C hält dabei als Verbindungskreuz sozusagen her.

/edit:
Das heißt projektrechte enthält pro Projekt einen Datensatz für jeden User. Und jeder User hat pro Projekt einen Datensatz
 
Zuletzt bearbeitet:
OKay das klingt logisch.

Kann dann die 3. Tabelle in etwa so aussehen?

ID projectid userid
PK FK FK
--------------------------
1 5 2
2 5 3
3 4 2
4 4 3
5 4 4
6 1 2

So in etwa müsste es ja dann aussehen oder ^^
Wie kann ich aber dann die Daten in die Tabelle speichern? Muss ich dann alle 3 Tabellen Joinen und die user Tabelle z. B. als Haupttabelle nehmen?
 
Zurück