Avatar billede cyberdude Nybegynder
18. december 2004 - 19:30 Der er 8 kommentarer og
1 løsning

hent fra database hvor ét nummer er blandt mange i DB'en

Hejsa,

Jeg forsøget at lave følgende udtræk fra databasen :
select * from $tbl where acc_lev like '$row[0]' order by username

$tbl sætter jeg andetsteds i scriptet, $row[0] indeholder et array med tal fra 1-x
feltet acc_lev indeholder en talrække adskilt af , (1,2,5,10,18)

Kan ikke hitte ud af det :-(

Nogen der har lidt mere erfaring med sådanne udtræk ??
Avatar billede jakobdo Ekspert
18. december 2004 - 19:35 #1
Du bør kunne bruge: SELECT * FROM $tbl WHERE acc_lev IN '" . implode(",",$row[0]) . "' ORDER BY username
Avatar billede coderdk Praktikant
18. december 2004 - 19:39 #2
jakobdo har fat i det rigtige, men det bør være:

SELECT * FROM $tbl WHERE acc_lev IN (" . implode(",",$row[0]) . ") ORDER BY username
Avatar billede cyberdude Nybegynder
18. december 2004 - 19:39 #3
den siger så :
Warning: Bad arguments to implode(
ser nu sådant her ud :
select * from $tbl where acc_lev in '" . implode(",",$row[0]) . "' order by username

skal lige nævnes at $row[0] i enkelte tilfælde kan træffe kun at indeholde 1 tal og derfor så ingen , tegn....
kan det være det der er problemet ?
Avatar billede cyberdude Nybegynder
18. december 2004 - 19:41 #4
coderdk -> stadig samme fejl, har lige tilføjet OR DIE

You have an error in your SQL syntax near ') order by username'

her er hele selecten
$get_member = sql("select * from $tbl where acc_lev in (" . implode(",",$row[0]) . ") order by username") OR DIE (mysql_error());
Avatar billede cyberdude Nybegynder
18. december 2004 - 19:58 #5
ups.. har fået vendt nogle parametere forkert, da jeg skrev spørgsmålet

acc_lev indeholder en talrække ala 1,2,5,8,10,18
$row[0] indeholder et id nummer på en post i en anden database
Avatar billede jakobdo Ekspert
18. december 2004 - 21:21 #6
Ok, men hvad hedder variablen som indeholder: 1,2,5,8,10,18
Og hvad hedder feltet som disse værdier skal findes i?
Avatar billede coderdk Praktikant
18. december 2004 - 21:54 #7
Hvad med:

$sql = "SELECT * FROM $tbl WHERE INSTR( CONCAT(',', acc_lev, ','), '," . $row[0] . ",' ) > 0 ORDER BY username";
Avatar billede cyberdude Nybegynder
19. december 2004 - 17:11 #8
coderdk -> det ser ud til atfunge med den sidste du postede :-)

smid et svar og du får point
Avatar billede coderdk Praktikant
19. december 2004 - 17:41 #9
Certainly! :)
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