08. august 2002 - 19:50Der er
20 kommentarer og 1 løsning
Rullemenu skal søge med....
Jeg har en søgemaskine, som søger i en database med Hardware og Software nyheder. Søgemaskinen virker fint.
Nu har jeg så fået sat en rullemenu med 2 menu: 1. Hardware 2. Software
Hvis jeg skriver noget i tekstboksen og vælger hardware ved rullemenuen skal den hente kun hardware posterne. Hvordan gøre jeg det?
Halvdelen af opgaven er løst, for den virker hvis man ikke bruger rullemenuen.
Her er Søge koden:
<% If Request.Form("search") <> "" then Set DB = Server.CreateObject("ADODB.Connection") DBSti = "DBQ=" & Server.Mappath("nyheder.mdb") DB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBSti SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' order by dato desc" Set rs = db.Execute (SQL) If not rs.eof then Response.Write "<table>" Response.Write "<tr><td><font face=verdana size=1><b>Dato</b></font></td><td width=30></td><td><font face=verdana size=1><b>Overskrift</b></font></td><td width=30></td><td><font face=verdana size=1><b>Forfatter</b></font></td></tr>" Do until rs.eof url = rs("overskrift") Response.Write "<tr><td><font face=verdana size=1>" & rs("dato") & "</font></td><td width=30></td><td><font face=verdana size=1><a href='vis_nyhed.asp?id="&rs("id")&"'>" & url & "</a></font></td><td width=30></td><td><font face=verdana size=1>" & rs("forfatter") & "</font></td></tr>" rs.movenext Loop Response.Write "</table>" Else Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Nyheden findes ikke i databasen!</center></B></FONT>" End if End if %>
du skal ændre din sql til kun at medtage hardware nyheder
If Request.Form("dinselect") <> "" Then SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' AND <det felt der angiver type>=" & Request.Form("dinselect") & " order by dato desc"
Else SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' order by dato desc" End If
;)
Jeg går udfra at du har en kategori i tabellen der angiver typen?
<% If Request.Form("search") <> "" then Set DB = Server.CreateObject("ADODB.Connection") DBSti = "DBQ=" & Server.Mappath("nyheder.mdb") DB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBSti ' her start
If Request.Form("dinselect") <> "" Then SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' AND nyhed=" & Request.Form("dinselect") & " order by dato desc"
Else SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' order by dato desc" End If
' her slut Set rs = db.Execute (SQL) If not rs.eof then Response.Write "<table>" Response.Write "<tr><td><font face=verdana size=1><b>Dato</b></font></td><td width=30></td><td><font face=verdana size=1><b>Overskrift</b></font></td><td width=30></td><td><font face=verdana size=1><b>Forfatter</b></font></td></tr>" Do until rs.eof url = rs("overskrift") Response.Write "<tr><td><font face=verdana size=1>" & rs("dato") & "</font></td><td width=30></td><td><font face=verdana size=1><a href='vis_nyhed.asp?id="&rs("id")&"'>" & url & "</a></font></td><td width=30></td><td><font face=verdana size=1>" & rs("forfatter") & "</font></td></tr>" rs.movenext Loop Response.Write "</table>" Else Response.Write "<FONT FACE=Verdana SIZE=1 COLOR=#FF0000><B><center>Nyheden findes ikke i databasen!</center></B></FONT>" End if End if %>
Der kommer denne Fejl: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
If Request.Form("valg") <> "" Then SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' AND nyhed='" & Request.Form("valg") & "' order by dato desc"
Else SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' order by dato desc" End If
' her slut
valuen i selectboxen skal jo så indeholde software og hardware...:)
bare lige det sidste a1, jeg har en ny menu i min rullemenu den hedder alle og det siger sig selv hvad den skal lave.
Elseif Request.Form("valg") = alle Then SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' AND nyhed='" & Request.Form("valg") & "' order by dato desc"
Elseif Request.Form("valg") = alle Then SQL = "select * from nyheder where overskrift like '%" & Request.Form("search") & "%' order by dato desc" End if
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.