Avatar billede dennism Nybegynder
25. februar 2007 - 14:13 Der er 9 kommentarer og
1 løsning

PHP/mySQL: brug af array i foresp

Jeg har et array der hedder $leafRegions, som indeholder ID på nogle regioner.
Jeg ønsker nu i min mySQL-select at kunne specificere, at regionId i den tabel jeg søger i, skal være et af dem i arrayet. Hvordan klarer man det?

En løsning kunne være, at gennemløbe arrayet og få lavet en string der f.eks. ser sådan ud:
$string = "regionId = 1 || regionId = 2 || RegionId = 3";

I min foresp. kunne jeg så skrive:
SELECT * FROM clubs WHERE $string;

Men håbede på, at der var en lidt nemmere måde at løse problemet på?
Avatar billede erikjacobsen Ekspert
25. februar 2007 - 14:38 #1
SELECT * FROM clubs WHERE regionID IN (1,3,7,9,13)
Avatar billede dennism Nybegynder
25. februar 2007 - 16:15 #2
Dvs, at jeg bare skal samle mine ID'er i en string i stil med IN (1,2) =
Avatar billede jakobdo Ekspert
25. februar 2007 - 16:50 #3
Hvis du har id'er gemt i et array, så kan du bruge:

erikjacobsens løsning og lidt ekstra på følgenede måde:

$sql = "SELECT * FROM clubs WHERE regionID IN (" . implode(',',$regionIDArray) . ")";
Avatar billede dennism Nybegynder
25. februar 2007 - 17:07 #4
Hvis arrayet så er tomt, hvad sker der så? Så er der vel ingen der passer?

Hvordan kan man få returneret længden på et array?
Avatar billede erikjacobsen Ekspert
25. februar 2007 - 17:09 #5
count($ditarray)
Du kan ikke skrive  ... IN ()  så hvis der ikke er noget i arrayet så skal du ikke fyre en sql-sætning af.
Avatar billede dennism Nybegynder
25. februar 2007 - 19:56 #6
Tak for hjælpen her, må jeg bede om et svar? :)
Avatar billede erikjacobsen Ekspert
25. februar 2007 - 19:57 #7
Ingen point til mig, tak.
Avatar billede jakobdo Ekspert
25. februar 2007 - 20:06 #8
Svar!
Avatar billede jakobdo Ekspert
25. februar 2007 - 20:17 #9
Takker for point.
Avatar billede dennism Nybegynder
25. februar 2007 - 20:35 #10
Tak for hjælpen :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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