Avatar billede obhat Nybegynder
12. marts 2006 - 14:29 Der er 14 kommentarer og
1 løsning

Søgning med ASP og MySql

Hejsa.. hvordan laver man en søgning med ASP og MySql, nogen der kan gi et eks. på det?

Lad os sige, at jeg har 5 formularfelter et med biler, priser, årgang, km, farve ??
Avatar billede saudoo Nybegynder
12. marts 2006 - 15:00 #1
sql = "SELECT * FROM tabel WHERE biler LIKE '%" & Request.Form("inputfelt") & "%' "
sql = sql & "OR priser LIKE '%" & Request.Form("inputfelt") & "%'"
sql = sql & "OR aargang LIKE '%" & Request.Form("inputfelt") & "%'"
sql = sql & "OR km LIKE '%" & Request.Form("inputfelt") & "%'"
sql = sql & "OR priser LIKE '%" & Request.Form("inputfelt") & "%'"

Så bruger du sql i dit MySql recordset og skriver resultaterne ud som normalt.

While NOT recordset.EOF

Response.Write recordset("biler") & " " & recordset("priser") & " " & recordset("aargang") 'osv

recordset.MoveNext
Wend
Avatar billede obhat Nybegynder
12. marts 2006 - 16:12 #2
Hvorfor skal jeg bruge sql select?
Jeg har også et formularfelt, hvor flere valg er mulig, hvor sættet det så ind i en søgestreng?
Avatar billede saudoo Nybegynder
12. marts 2006 - 16:37 #3
Mener du en selectbox?

Du skal bruge Select fordi du skal vælge hvilken tabel du vil søge i. :)
Du kan sætte flere tabeller på, ved at bruger et komme som deling.
Avatar billede obhat Nybegynder
12. marts 2006 - 23:21 #4
Ok, men det jeg mener er, at jeg har som følgende formularfelt:

<select size="3" name="D1" multiple>
  <option value="valg1">valg1</option>
  <option value="valg2">valg2</option>
  <option value="valg3">valg3</option>
</select>

med mulighed for flere valg, hvordan kommer værdien herfra til en SQL streng?
Avatar billede saudoo Nybegynder
13. marts 2006 - 09:21 #5
Så bruger du bare Request.Form("D1"), så vil den automatisk trække værdien ud fra en valgte option. :)
Avatar billede obhat Nybegynder
13. marts 2006 - 09:45 #6
Ja det har jeg også prøvet, men kan du ikke lave et eksembel, jeg kan ikke overskue det her, fordi, hvis der ikke er valgt noget hvad så? feks.

<input type="radio" value="ALLE" checked name="R1">Begge
              <input type="radio" name="R1" value="BMW"> BMW <input type="radio" name="R1" value="FIAT"> FIAT

Hvis man søger alle, vil værdien jo komme ind som "ALLE" og det kan SQL jo ikke bruge, hvad gør man så der?


Håber du kan lave et eksembel på det.
Avatar billede saudoo Nybegynder
13. marts 2006 - 09:59 #7
Så tjekker du jo lige om dine fomularfelter er tomme, før du kører din SQLsætning. :)

I det eksempel du giver, har du jo allerede checket en af dine radiobuttons af. :S
Avatar billede obhat Nybegynder
13. marts 2006 - 10:07 #8
Ok men vil det så sige at jeg skal lave en 10 forskellige select, det bliver jo en kilometer lang kode, hvis jeg skal lave en ny, hver gang et formularfelt er tomt.
Avatar billede obhat Nybegynder
13. marts 2006 - 10:41 #9
Skal jeg flytte spg til MySql ?
Avatar billede obhat Nybegynder
13. marts 2006 - 10:51 #10
Sådan her?

Set rs = Conn.Execute("SELECT * FROM biler WHERE bil LIKE '%" & request.form("bil") & "%' ")

eller....

Set rs = Conn.Execute("SELECT * FROM biler WHERE bil = '" & request.form("bil") & "' ")


Er det rigtigt?
Hvad hvis formularfeltet er tomt?
Avatar billede saudoo Nybegynder
13. marts 2006 - 11:22 #11
Jeg ville nok gøre således:

If Request.Form("bil") <> "" Then
  Set rs = Conn.Execute("SELECT * FROM biler WHERE bil = '%" & Request.Form("bil") & "%'")
End If
Avatar billede obhat Nybegynder
27. marts 2006 - 11:24 #12
Det virker svar=point
Avatar billede saudoo Nybegynder
27. marts 2006 - 11:36 #13
Godt nok.. :)
Avatar billede saudoo Nybegynder
18. august 2007 - 14:06 #14
mange tak.. :)
Avatar billede thesurfer Nybegynder
18. august 2007 - 14:16 #15
..Jeg ville bruge "... LIKE '% ...", da det jo er det man bruger..

Altså, LIKE, og ikke absolut værdi, som er "="..

Man kan vel sige følgende:
LIKE : indeholder (placeingen af "%" bestemmer om det er "starter med", "indholder" eller "slutter med")
= : absolut værdi, dvs, "er", og ikke "starter med", "indholder" eller "slutter med"

:-)
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