Hvad går der galt ?
Hej EksperterJeg har en side, hvor man kan søge på. Denne side, der er under, er så siden, hvor resultatet kommer frem på. Det virker fint nok. Men jeg har lige lavet det sådan, at den skal vise 5 resultater per side, og så at der i bunden, står Frem og tilbage. Så er det, at fejlen kommer. Nå man trykker på ’<<’ eller ’>>’ (som er frem og tilbage), kommer man hen til Downloads igen (den side, hvor søgningen startede.
Så derfor:
Er der nogen af jer, der ved hvad der går galt i denne kode:
<% Response.Buffer = True %>
<html><head>
<title>Søgeresultat i download</title>
</head><body>
<%
' Henter værdien fra download.asp
strKeyword = Trim(Request.Form("Keyword"))
If Len(strKeyword) = 0 Then
' Hvis der ikke er skrevet i feltet
Response.Clear
Response.Redirect("download.asp")
Else
' Hvis der er skrevet i feltet
strKeyword = Replace(strKeyword,"'","''")
End If
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
intPage = 1
End If
' Opbygger en dynamisk SQL streng
' Skaber DSNLess forbindelse til DBen
strSQL = "SELECT ID, Navn, Beskrivelse, URL, Klik, Stor FROM Download WHERE"
strSQL = strSQL & " (Navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Beskrivelse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (URL LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Stor LIKE '%" & strKeyword & "%')"
Set rs = Server.CreateObject("ADODB.RecordSet")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("download.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 5
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount
' Hvis der er fundet poster på søgningen
Response.Write "<CENTER><FONT SIZE=3><B>Søgeresultat</B></FONT></CENTER><BR>"
Do While Not rs.EOF
Response.Write "<CENTER>"
Response.Write "<TABLE WIDTH=400 BORDER=1>"
Response.Write "<TR>"
Response.Write "<TD WIDTH=200><B><FONT SIZE=2><a href=download.asp?id=" & rs("ID") & ">" & rs("Navn") & "</a></B></FONT></TD>"
Response.Write "<TD ALIGN=center WIDTH=100><FONT SIZE=2>Hits: " & rs("Klik") & "</FONT></TD>"
Response.Write "<TD ALIGN=right WIDTH=100><FONT SIZE=2><U>" & rs("Stor") & "</U></TD></FONT>"
Response.Write "</TR>"
Response.Write "<TR>"
Response.Write "<TD COLSPAN=3 WIDTH=400><FONT SIZE=2>" & rs("Beskrivelse") & "</TD></FONT>"
Response.Write "</TR>"
Response.Write "</TABLE>"
Response.Write "</CENTER>"
Response.Write "<BR>"
intRecCount = intRecCount - 1
rs.MoveNext
Loop
Response.Write "<CENTER>"
Response.Write "<TABLE BORDER=1 WIDTH=400 HEIGHT=30><TR><TD>"
Response.Write "Gå til side:</TD>"
Response.Write "<TD ALIGN=center>"
If Clng(intPage) > 1 Then
Response.Write "<a href=search.asp?page=" & intPage - 1 & "><<</a>"
Else
Response.Write "<<"
End If
Response.Write " "
For intNum = 1 To intPageCount
Response.Write "<a href=search.asp?page=" & intNum & ">" & intNum & "</a> "
Next
If Clng(intPage) < Clng(intPageCount) Then
Response.Write "<a href=search.asp?page=" & intPage + 1 & ">>></a>"
Else
Response.Write ">>"
End If
Response.Write "</TD><TD ALIGN=right><b>Side " & intPage & " af " & intPageCount & "</b></TD></TR></TABLE>"
Response.Write "</CENTER>"
Else
' Hvis der ikke er fundet poster på søgningen
Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End if
%>
</body></html>
Håber i vil hjælpe mig….
