Behandling af data over flere tabeller
Hej..Jeg har lidt problemer med en "permission" tabel
Jeg har en tabel "group_list" der indeholder en række grupper
id, sub_id, type_id, name
Her indeholder sub_id en evt. gruppe der ligger "ovenover" i et hierki. Hvis topgruppe sub_id=-1
En tabel der indeholder brugere "user_list"
id, name
En tabel der indeholder adgang til grupperne "group_permission"
group_id, user_id, permission
Denne indeholder en gruppes id, en brugers id og hvor graden af rettigheder (>0 betyder at brugeren er medlem af gruppen) - Dataen eksisterer kun i tabellen, hvis brugeren er medlem
Jeg vil gerne liste alle grupper, som en bruger er medlem af (har rettigheder til), og hvor group_list.sub_id=-1 eller hvor group_list.sub_id<>-1 OG hvor brugeren så IKKE er medlem af sub_id gruppen.
Altså skal der tjekkes om medlemskab i en gruppe, og hvis det ikke er en topgruppe, så tjekke om brugeren er medlem af subgruppen. Under alle omstændigheder skal der returneres rettigheder for aktuelle gruppe (aldrig sub gruppen)
Jeg har følgende kode, somvirker:
SELECT group_list.name AS name, group_list.id AS id, group_type.id AS type_id, group_type.name AS type_name, group_permission AS user_permission FROM group_list, group_type, group_permission
WHERE group_list.id=-1 AND
group_list.id=group_permission.group_id AND
group_permission.user_id='" .$_SESSION["log_id"]. "' AND
group_permission.permission>0 AND
group_list.type_id=group_type.id AND
(group_list.active_date<NOW() OR group_list.active_date='0000-00-00')
Men den udskriver ikke de undergrupper der er, hvor brugeren IKKE er medlem af gruppen ovenover..
En der kan hjælpe mig?