Avatar billede cautoo Nybegynder
27. juni 2007 - 21:13 Der er 1 kommentar og
1 løsning

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?
Avatar billede cautoo Nybegynder
27. juni 2007 - 21:18 #1
hov nej... der forvirede jeg mig selv..
Jeg behøver ikke hente adgang for gruppen ud med group_permission AS user_permission, hvor der er slugt lidt af koden. men jeg vil kun have listet grupper hvor group_permission.permission >0
Avatar billede cautoo Nybegynder
19. juli 2007 - 17:07 #2
Lukker..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester