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 ??
Annonceindlæg fra Immeo
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
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?
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.
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?
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. :)
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.
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
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.
13. marts 2006 - 10:41
#9
Skal jeg flytte spg til MySql ?
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?
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
27. marts 2006 - 11:24
#12
Det virker svar=point
27. marts 2006 - 11:36
#13
Godt nok.. :)
18. august 2007 - 14:06
#14
mange tak.. :)
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" :-)
Kurser inden for grundlæggende programmering