MySQL Join mit 3 Tabellen Hallo zusammen!
Ich programmiere und warte die Homepage einer Kommune. Hier benutzen wir für alle Dateien (Bilder, Formulare, etc.) einen Medienpool. Da alle Mitarbeiter in verschiedenen Fachbereichen arbeiten, dürfen auch nicht alle Mitarbeiter auf alle Dateien zugreifen. Und hier fängt das Problem an.
Ich habe folgende Tabellen: medienpool id int(5)
filetype varchar(50)
filename varchar(200)
orgfilename varchar(200)
filesize int(10)
width int(5)
height int(5)
title varchar(200)
description text
copyright varchar(200)
filecat int(5)
filecat2 int(5)
createdate int(10)
createuser int(3)
archivbit int(2) mp_categorie id int(5)
name varchar(20)
filetype varchar(20)
categorietype int(5)
uppercat int(5)
auth enum('all', 'limited') rechte_mp id int(10)
b_id int(3)
cat_id int(5)
Ich möchte alle Informationen über die Dateien haben, auf die der User zugreifen darf. Die Dateien sind in Kategorien eingeteilt. Eine Kategorie und eine Unterkategorie. Diese werden in der Tabelle mp_categorie (ich weiß, falsch geschrieben) gespeichert. Zu jeder Datei wird dann im Feld medienpool.filecat und medienpool.filecat2 jeweils die mp_categorie.id eingetragen.
Der Zugriff wird wie folgt geregelt. In mp_categorie.auth wird entweder ein all oder ein limited für eine Kategorie eingetragen. all bedeutet hier, jeder hat Zugriff auf die Kategorie und limited halt, nicht jeder hat Zugriff auf die Kategorie.
Für diejenigen, die auf eine "Zugriffbeschränkte" Kategorie zugreifen dürfen, wird pro Kategorie ein Eintrag in rechte_mp erstellt. Inhalt: rechte_mp.b_id BenutzerID, rechte_mp.cat_id die KategorieID.
Jetzt zur eigentlichen Abfrage: Es soll nachgesehen werden, auf welche Kategorien zugegriffen werden darf und dann die Dateien ausgeben.
Ich hoffe, ich habe es einigermaßen verständlich erklärt und bedanke mich jetzt schonmal für die mühe!
Gruß
quichibo |