Avatar billede al Nybegynder
02. april 2003 - 01:43 Der er 5 kommentarer og
1 løsning

select where array ?

Hej. Jeg skal udskrive noget data fra en database (MySQL) data er nummereret. Jeg skal udskrive det data jeg har nummeret på.

altså noget
  SELECT * FROM tabel where Nr = '37';

men hvad så hvis jeg har et helt array af numre (fx: 11,37,89,112) som jeg gerne vil ha udskrevet det tilhørende data til, hvordan gør jeg det lettest?

Jeg mener, er der noger lettere end bar
  SELECT * FROM tabel (where Nr = '11') and (where Nr = '37'); ... og så vidre?

Jeg vil altså gerne vælge (where id = $array)
Avatar billede tefcke Nybegynder
02. april 2003 - 02:12 #1
din sql skal nok være
SELECT *
FROM tabel
WHERE nr = 11
  OR nr = 37
  OR nr = 89

(forudsat at du har en unique eller primary constraint på din kolonne nr.)

Bagefter kan du gennem løbe resultaterne igennem med f.eks. en while løkke!
Avatar billede al Nybegynder
02. april 2003 - 02:30 #2
yeaa
Avatar billede jakoba Nybegynder
02. april 2003 - 02:51 #3
til lige din situation kan du med fordel benytte sql's IN operator:
http://www.mysql.com/doc/en/Comparison_Operators.html

SELECT *
FROM tabel
WHERE nr IN ( 11, 37, 89 )

mvh JakobA
Avatar billede xyborx Nybegynder
02. april 2003 - 08:15 #4
Et godt tip: Man kan bruge implode til at gøre det nemmere:
$numre=Array(10,14,20,30,34);
mysql_query('SELECT * FROM table WHERE nr='.implode(' OR nr=',$numre))
Avatar billede xyborx Nybegynder
02. april 2003 - 08:40 #5
Den der IN i MySQL ser egentlig meget nyttig ud, og kan nemt 'implementeres' i mit eksempel:
mysql_query('SELECT * FROM table WHERE nr IN ('.implode(',',$numre).')')
Avatar billede al Nybegynder
02. april 2003 - 12:05 #6
jakoba:
hay, det er jo lige det jeg sku bruge. det er perfekt. Har desværre lukket :/  men bruger da det der "IN" i stedet.

xyborx:
Jow, det ser smart nok ud.
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