Problem mit SQL-Abfrage über 2 Tabellen Hallo,
ich habe zwei Tabellen zum Aufbau einer Seitennavigation mit Zugriffsrechten und komme irgendwie nicht klar damit.
Hier erstmal die Tabellen:
Tabelle: 'seiten'
id | hidden | seitenname
-------------------------
1 | 0 | Seite 1
2 | 0 | Seite 2
3 | 0 | Seite 3
4 | 0 | Seite 4
5 | 0 | Seite 5
Tabelle 'zugriff'
id | fk_id_seiten | gruppenID
----------------------------
1 | 3 | a
1 | 3 | b
1 | 4 | a
1 | 4 | c
1 | 5 | c
Jeder Benutzer gehört im ausgeloggten Status keiner Gruppe an; im eingeloggten Status einer oder mehrerer Gruppen (gruppenID).
Ausgeloggter Status: Alle Seiten sind sichtbar, deren fk_id_seiten NICHT in der Tabelle 'zugriff' eingetragen ist. Also die Seiten 1 und 2.
Eingeloggter Status (z.B. User hat gruppenID´s a und b):
Der Benutzer darf alle freien Seiten (also wie ausgeloggter Status) und zusätzlich alle Seiten sehen, die seinern gruppenID´s entsprechen. Hier also neben den Seiten 1 und 2 noch die Seiten 3 und 4 sehen.
Natürlich kann man das mit mehreren SQL-Abfragen hintereinander lösen. Aber irgendwie muss das doch auch mit einem Befehl funktionieren? Hat jemand einen Ansatz dafür? |