Avatar billede cyberdude Nybegynder
07. september 2005 - 12:44 Der er 3 kommentarer og
1 løsning

array i DB og array i variabel, skal matche, hvordan

Hejsa

Jeg har i min database et felt ved navn gruppe af typpen varchar og data ala
3,4,9,10,15,17

Jeg har en variable der bliver registreret i en session ved login
$acc_lev som indeholder data ala 4,8,9,11,14,17

Jeg vil nu gerne have at brugeren kun får at se de poster i databasen hvor vedkommendes $acc_lev matcher dem i databsasen
dvs. at den bruger der her er vist må se de data hvor
4,8,9,11,14 eller 17 INDGÅR i den talrække der er i feltet gruppe i databasen

Har forsøgt med
sql("select * from menu where aktiv = 1 AND parent = 0 AND gruppe IN ($acc_lev) order by sort");

men så vises der intet overhovedet :-(

sql("... henviser blot til en funktion jeg bruger til at lave conections m.m. til databasen, det funger fint hvis jeg udelader
AND gruppe IN ($acc_lev) i min sql sætning....

Hvad kan være galt ??
skal jeg bruge en anden seperator istedet for , eller vil det ike virke uanset hvad ??
Avatar billede fennec Nybegynder
07. september 2005 - 12:56 #1
Mig bekendt kan du ikke det, da du sammenligner to "mange" værdier. Det du prøver at lave er noget i denne stil:

...where (1,2,5,6) = (2,7,3)

Det er desuden generelt forkert databaseopbygning at lave "1,2,3" værdier, som henviser til en anden tabel.

Du bliver nød til at lave en mellemtabel som knytter menu.ID sammen med Gruppe.ID
Avatar billede fennec Nybegynder
07. september 2005 - 12:58 #2
Menu2Gruppe:
menuId GruppeID
1      3
1      4
1      9
2      2
2      3
...
Avatar billede cyberdude Nybegynder
07. september 2005 - 13:09 #3
de henviser ikke til en anden tabel, men en variabel som brugeren "bære" rundet på når vedkommende er logget ind, indeholder et array, og hvis blot et ét af de tal der er i det array matcher et af de tal i databasen, giver det adgang til dataen, derfor bruger jeg
AND gruppe IN ($acc_lev)
mener at IN "søger" sig gennem et array, for at tjekke... men om det så er en forkert adskiller jeg benytter...
Avatar billede cyberdude Nybegynder
08. oktober 2005 - 12:54 #4
ikke noget brugbart, 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