Avatar billede mo-bo Nybegynder
14. oktober 2001 - 20:11 Der er 12 kommentarer og
1 løsning

sql

Jeg har et problem med en sql sætning.

Jeg har en side hvor man skal kunne søg på poster, det fungere fint. Så vil jeg gerne have at man skal kunne vælge mellem dvd og video. Og dermed kun søge i de poster hvor \"type\" er = dvd el video. Jeg har en sql sætning som ser sådan ud:
PS jeg bruger JavaScript

sql+=\"WHERE type1=\'\"+type1+\"\' and videonummer LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR filmtitle LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR instruktor LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR udgivelsesaar LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR laengde LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR imdb LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR nationalitet LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' ORDER BY videonummer\";
Avatar billede eagleeye Praktikant
14. oktober 2001 - 23:25 #1
Hvordan ville du vælge typen i en QueryString lige som med sog?

Hvad hedder feltet i din database som type ligger i, er det type1?

WHERE type1=\'\"+Request.QueryString(\"type\")+\"\' and videonummer ...

Avatar billede mo-bo Nybegynder
15. oktober 2001 - 00:16 #2
AHH sorry den har jeg lagt type1 i en varibel :

type1 =Request.QueryString(\"type1\");

Og ja mit felt i databasen er hedder også type1

Der kunne lige så godt stå:

sql+=\"WHERE type1=\'\"+Request.QueryString(\"type1\")+\"\'
Avatar billede eagleeye Praktikant
15. oktober 2001 - 00:17 #3
Ja det skulle gerne give det samme.
Avatar billede mo-bo Nybegynder
15. oktober 2001 - 00:20 #4
men ved du hvordan jeg gør??
Avatar billede eagleeye Praktikant
15. oktober 2001 - 00:21 #5
Har du en form hvor du indtaster sog ?
Avatar billede mo-bo Nybegynder
15. oktober 2001 - 00:23 #6
ja hvor der et søge felt, og et select hvor du kan vælge mellem video eller dvd.

Avatar billede eagleeye Praktikant
15. oktober 2001 - 00:26 #7
Jeg tror ikke helt jeg er med på hvad du spørger om...



du kan evt lave det med radiobuttons:

<input type=\"radio\" value=\"DVD\" name=\"type1\" checked> DVD
<input type=\"radio\" value=\"Video\" name=\"type1\"> Video
Avatar billede mo-bo Nybegynder
15. oktober 2001 - 00:26 #8
MEn det fungere fino, med søgningen jeg kan bare ikke få den til kun at vælge fra dvd feks.

ALtså hvis jeg vælger DVD fra select, og indtaster noget i søgefeltet. Vil jeg have at jeg kun for resulater fra DVD og ikke video.
Avatar billede mo-bo Nybegynder
15. oktober 2001 - 00:28 #9
ohh er du med :o)
Avatar billede eagleeye Praktikant
15. oktober 2001 - 00:29 #10
du skal nok havde () omkring OR samlingen (felt1 LIKE x OR felt2 LIKE x OR felt3 LIKE x) omkring


sql+=\"WHERE type1=\'\"+type1+\"\' and (videonummer LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR filmtitle LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR instruktor LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR udgivelsesaar LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR laengde LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR imdb LIKE \'%\" + Request.QueryString(\"sog\") + \"%\' OR nationalitet LIKE \'%\" + Request.QueryString(\"sog\") + \"%\') ORDER BY videonummer\";


Så: type1 AND (felt1 OR felt2 OR felt3)
Avatar billede mo-bo Nybegynder
15. oktober 2001 - 00:33 #11
Cool takker mange gange -

Gider du lige svare for så lukker vi :o)
Avatar billede eagleeye Praktikant
15. oktober 2001 - 00:34 #12
AND har højre prioritet end OR det betyder den udføre AND før OR:

Den tolke din WHERE sådan her:
(type1 AND videonummer)
OR (filmtitle)
OR (..)

Hvis du sætter ( ) omkring bliver det
(videonummer OR filmtitle OR ..) AND type1
Avatar billede mo-bo Nybegynder
15. oktober 2001 - 00:36 #13
Oki det er kanon at vide TAKKER igen
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
Kurser inden for grundlæggende programmering

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