Avatar billede Mylife6400 Nybegynder
15. juli 2010 - 23:51 Der er 2 kommentarer og
1 løsning

Findes der en "don´t care" til søgning i en MySQL db?

Hej :-) Jeg er ny indenfor MySQL, og er løbet ind i et lille problem, som jeg håber nogen kan hjælpe med :-)

Jeg ønsker at kunne søge i min db, på denne måde:

$query = mysql_query("SELECT * FROM profiler WHERE navn='$navn' AND by='$by' AND alder='$alder' AND omr='$omr'");

Variablerne $navn,$by,$alder og $omr kommer en php side, og bliver valgt på denne måde: f.eks.

<SELECT NAME="omr" size="1">
<OPTION VALUE=?????>Alle
<OPTION VALUE=Nordjylland>Nordjylland
<OPTION VALUE=Midtjylland>Midtjylland
<OPTION VALUE=Sydjylland>Sydjylland
<OPTION VALUE=Fyn>Fyn
<OPTION VALUE=Sjælland>Sjælland
<OPTION VALUE=Lolland/Falster>Lolland/Falster
<OPTION VALUE=Bornholm>Bornholm
<OPTION VALUE=Andet>Andet
</SELECT>

Men hvilken værdi skal VALUE have, for at jeg kan søge på "Alle"??? Altså en værdi som i MySQl betyder "Don´t care"???

Håber nogen kan hjælpe :-)
Avatar billede wanze Nybegynder
16. juli 2010 - 00:03 #1
Jeg ville nok gøre det manuelt, da det virker mest sikkert. Altså at du bare kontrollerer i PHP om "Alle" er valgt, og hvis det er tilfældet, så klipper du simpelthen bare "AND by='$by'" ud af din query.

Du kan dog også bruge procenttegn som et wildcard, hvilket jeg dog ikke vil anbefale. For at det er muligt skal du skrive "LIKE" istedet for "=", fx:
    SELECT * FROM tbl WHERE row LIKE '%'
    SELECT * FROM tbl where row LIKE '%hest%'

Den første matcher alt, den anden matcher alt, hvad der starter eller slutter med "hest" - eller blot ordet "hest" alene.
Avatar billede Mylife6400 Nybegynder
16. juli 2010 - 07:30 #2
Takker :-)
Avatar billede wanze Nybegynder
16. juli 2010 - 14:19 #3
Det er normalt høfligt at spørge, om jeg vil have point, efter jeg har løst dit problem, fremfor at beholde dem. ;-)
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