Hej <form action="sok.asp" method="post"> ok, löste det, men har märkt ett annat problem. Den söker inte rätt :S aha, det är där felet ligger, man söker i fältet "text". det var meningen att det skulle vara i rubriken :Dändring av söksida??
Jag har ett sökscript som söker i en databas. Jag skulle behöva hjälp med att ändra så att det är en sida man söker på och en sida som visar sökresultaten. Just nu så visas sökresultaten på samma sida.
koden jag har är:
<%
Dim Con
Dim SQL
Dim RS
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "DBQ=" & Server.MapPath("../db/databas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
%>
<html>
<head>
</head>
<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#000000" style="font-family: Verdana; font-size: 10pt">
<table border="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="130" id="table1">
<tr>
<td width="100%" style="border-top-style: none; border-top-width: medium" class="td2">
<form action="sok.asp" method="post">
<font face="Verdana">
<input class="form" type="text" name="sokord" size="17">
<input class="knapp" type="submit" value="Sök"><br>
</font></form>
</td>
</tr>
<tr>
<td width="100%" class="rum" style="font-size: 10pt; font-family: Verdana"></td>
</tr>
</table>
<font face="Verdana" size="2">
<%
If Request.Form("sokord") <> "" Then
Response.Write "<table border=0 cellpadding=0 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 width=400>"
Response.Write "<tr>"
Response.Write "<td width=100% class=rubrik1 style=border-style: solid; border-width: 1>"
Response.Write "Sökningen efter <i>" & Request.Form("sokord") & "</i> gav följande träffar.<br>" & vbCrLf
Response.Write "</td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td width=100% style=border-top-style: solid; border-top-width: 1 class=td2>"
SQL = "Select * from spelare Where Text Like '%" & Request.Form("sokord") & "%' "
SET RS = Con.Execute(SQL)
While Not RS.EOF
Response.Write "<font class=text>"
Response.Write "<b>" & RS("Rubrik") & "</b><br>" & vbCrLf
Response.Write "" & RS("namn") & " "
Response.Write "Läs mer!<br><br>"
RS.MoveNext
Wend
RS.Close
Set RS = Nothing
Response.Write "</td>"
Response.Write "</tr>"
Response.Write "</table>"
Response.Write "</div>"
End If
%>
</font>
</body>
</html>
<%
Con.Close
Set Con = Nothing
%>
frågan e då som redan nämnt. Hur gör jag 2 sidor av denna sida?? en med sökformuläret och en där resultaten ska visas ??
Tacksam för all hjälp jag kan få
Sv: ändring av söksida??
Ändra sok.asp till en annan sida t ex resultat.asp. Läs sedan "Min första gästbok" i Pellesofts artiklar om active server pages så ser du hur man går vidare....Sv:ändring av söksida??
Tex söker man på ett ord som ska finnas med i den kolumnen i databasen som man söker i så kommer det upp att ingentin hittades även att det finns. Vad kan det vara för fel??Sv:ändring av söksida??
felet ligger nog i hur SQL:en är byggd.
<code>
SQL = "Select Id, Rubrik, Namn FROM spelare Where Text Like '%" & Request.Form("sokord") & "%' "
</code>
Begränsa SQLen att den bara ska selektera de fält till skall användas.
Id, Rubrik, Namn
är det på enkelord du menar att det blir fel? Flera ord i sökfältet kan bli fel så du inte gjort någon split på sökfältet (man kan söka på flera ord som inte står tillsammans). Sedan kan det vara olika om du använt versalgemena ord (Gurka) eller endast gemena ord (buss), och att orden i sökfältet och tabellfältet matchar.
Skall man bara kunna söka i tabellfältet "text" ?
Och du har inte gjort något åt SQL-injections. Det bör man göra.Sv: ändring av söksida??
inte undra på att man inte får några träffar :)
Tack för all hjälp