jag har gjort en väldigt enkel sökmotor för att söka igenom en databas. jag har några fält i tabellen users som finns i databasen som heter namn, efternamn, kon, osv.... om jag nu vill via formuläret som man söker i ska kunna välja om man vill hitta bara tjejer eller bara killar...så kan man ju lägga till en rullgardinsmeny i formuläret men hur blir det i asp-koden? så här ser den ut för tillfället:
<font face="Verdana" size="1"><b>Här visas dina träffar:</b><br><br></font><font face="Verdana" size="1">
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
%>
<%
sokning = Request.Form("sokning")
SQL = "SELECT * FROM users WHERE Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%' OR kon LIKE '%" & sokning & "%'"
Set rsBra = databas.execute(SQL)
Do Until rsBra.EOF
Response.Write "Förnamn: " & "<b>" & rsBra("Namn") & "<br>" & "</b>"
Response.Write "Efternamn: " & rsBra("Efternamn") & "<br>"
Response.Write "Emejl: " & rsBra("E-post") & "<br>"
Response.Write "Bor: " & rsBra("Bor") & "<br>"
Response.Write "Kön: " & rsBra("Kon") & "<br>"
Response.Write "Född: " & rsBra("Born") & "<br>"
Response.Write "Så här beskriver jag mig själv:" & "<br>" & rsBra("Fakta") & "<br>"
Response.Write "Nickname: " & rsBra("Username") & "<br>" & "<a href=""blikompis.asp?Username=" & rsBra("Username") & """>Bli polare!</a><br><br>"
Response.Write "<img src=""hr.jpg"" width=""846"" height=""11"" border=""0"">" & "<br>"
rsBra.MoveNext
Loop
%>
Du får döpa din rullist till kon, och sedan ändra till:
kon = Request.Form("kon")
sokning = Request.Form("sokning")
SQL = "SELECT * FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%') AND kon = '" & kon & "'"
------------------ Nu har du sjungit på sista refrängen Jourhavande Vide
nu surfar det bara med min sökfunktion :e bara en liten fråga, om man inte hittar någon person som man sökt på, kan man inte få ett litet meddelande om det då? borde väl gå med en liten If-sats :q
att du inte skickar med något värde för kön... gör en ifsats som kolla om du skicka med något, är det medskickat så lägger du till >> AND kon = '" & kon & "' << annars så skiter du i det...
------------------ Nu har du sjungit på sista refrängen Jourhavande Vide
kon = Request.Form("kon")
sokning = Request.Form("sokning")
SQL = "SELECT * FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%')"
If kon <> "" then SQL = SQL & " AND kon = '" & kon & "'"
------------------ Nu har du sjungit på sista refrängen Jourhavande Vide
Så här ser koden ut:
kon = Request.Form("kon")
sokning = Request.Form("sokning")
SQL = "SELECT * FROM users WHERE (Username LIKE '%" & sokning & "%' OR namn LIKE '%" & sokning & "%')"
If kon <> "" then SQL = SQL & " AND kon = '" & kon & "'"
Set RS = databas.execute(SQL)
Kat är en select sats, koden ser nu så här,
SQL = "SELECT * FROM databas WHERE (beskrivning LIKE '%" & sokning & "%' OR titel LIKE '%" & sokning & "%') AND kat = " & kat & ""
får upp fel,
Syntax error (missing operator) in query expression '(beskrivning LIKE '%test%' OR titel LIKE '%test%') AND kat ='.