Avatar billede thb Nybegynder
10. juni 2008 - 18:08 Der er 6 kommentarer og
1 løsning

At finde værdi i mysql tabel

Hej,

Jeg sidder og roder med noget php.

Jeg har et felt i db'en som kan indeholde alt fra f.eks '1' til '1,2,5,7,8,21'.

Jeg vil så høre om det er muligt at fange de rækker hvor $variabel er at finde i det omtalt felt.

Jeg har prøvet med:

"SELECT * FROM tabel WHERE felt LIKE '%" . $variabel . "%'" men hvis $variabel er lig 1, og feltet indeholder 1 og 14 feks. så tager den begge 2 med.

Håber I forstår, ellers må I lige spørge.

Thomas
Avatar billede w13 Novice
10. juni 2008 - 18:11 #1
Det ville klart være lettest, hvis feltet indeholdt:
',1,'
eller:
',1,2,3,4,5,'

Dvs. med komma først og sidst. På den måde kan du bruge:

LIKE '%,".$variabel."%,'
Avatar billede w13 Novice
10. juni 2008 - 18:13 #2
Men ellers kan du vel skrive:

"SELECT * FROM tabel WHERE felt='" . $variabel . "' OR felt LIKE '" . $variabel . ",%' OR felt LIKE '%," . $variabel . "%,' OR felt LIKE '%," . $variabel . "'"

Men det kan garanteret gøres smartere.
Avatar billede thb Nybegynder
10. juni 2008 - 18:18 #3
hehe, sjovt at jeg ikke havde tænkt på det :)
Det er ikke altid at det kan betale sig at kode om natten.

w13 > Smid et svar, og så godkender jeg når jeg lige har ventet lidt på et evt. smartere forslag :)

Thomas
Avatar billede w13 Novice
10. juni 2008 - 18:27 #4
;)
Avatar billede horizon Nybegynder
10. juni 2008 - 18:48 #5
Hvis du vil hente en bestemt værdi så skal du fjerne %'erne så finder den KUN de(t) felt(er) hvor $variabel = f.eks. 1

eksempel: SELECT * FROM `tabel` WHERE `felt` = $variabel
Avatar billede horizon Nybegynder
10. juni 2008 - 18:52 #6
og så kan du smide det i en løkke hvor du ændrer $variabel hvis du f.eks. skal hente alt med 1, 3 og 4 f.eks.

for($i=0,$i<$VariabelDerfortællerHvorMangeGangeDenSkalGentageSig,$i++){

mysql_query(SELECT * FROM `tabel` WHERE `felt` = $variabel)

}

hvis den skal hente det med 1, 3 og 4 i "felt" så skal $VariabelDerfortællerHvorMangeGangeDenSkalGentageSig = 3;
Avatar billede thb Nybegynder
10. juni 2008 - 18:52 #7
horizon > Det er jo sql for begyndere, og ikke lige just det jeg ledte efter. Du må have misforstået mit spørgsmål.

w13 > Tak for hjælpen, nu kom jeg endelig videre med en mere præcis udvælgelse via sql'en

Thomas
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