Avatar billede mekaniker Nybegynder
28. december 2001 - 13:04 Der er 3 kommentarer og
1 løsning

paging

Jeg har dette paging script, som jeg har lidt problemer med, selve scriptet virker fint, men sammen med en søgefunktion, går det galt.
Den første side, som bliver vist med resultatet virker fint, men når man trykker på linket til den næste side går der et eller andet galt.

Er der nogle som kan hjælpe mig med dette...??

Et eksempel kan ses her http://www.friserverplads.dk/myg/default.asp


<!-- #include file=\"ADOVBS.INC\" -->
<%

  \' Først finder vi ud af hvad vores paging side er på nu
  Page = Trim(Request(\"page\"))
  If Page = \"\" Then Page = 1

\' Henter værdien fra search.htm
strKeyword = Trim(Request.Form(\"Keyword\"))

\' Hvis der er skrevet i feltet
strKeyword = Replace(strKeyword,\"\'\",\"\'\'\")

\' Opbygger en dynamisk SQL streng
strSQL = \"SELECT * FROM produkter WHERE\"
strSQL = strSQL & \" (varebeskrivelse LIKE \'%\" & strKeyword & \"%\')\"

set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db/varer.mdb\")

  \' Så begynder det sjove - her sætter vi vores recordset op...
  \' Jeg vil ikke gennemgå alt hvad recordsetkoden gør.
  \' Kig evt. i en dokumentation hvis du ikke helt er med på hvad der er hvad... :-)
  Set rs = Server.CreateObject(\"ADODB.Recordset\")
  rs.CursorType = adOpenStatic

  \' Hvor mange records vil have på hver side... her er den sat til 10
  rs.PageSize = 2
  rs.Open(strSQL), myConn

  \' Her laver jeg et lille trick der gør at hvis ens forespørgsel er tom,
  \' så får man ikke en fejl
  If Not rs.EOF Then
    rs.AbsolutePage = cINT(Page)
    rowCount = 0
  End If
%>

<html>
<head>
    <title>Paging ifølge Andreas Mailand :-)</title>
</head>
<body>

<%
\' her laver vi en løkke der henter vores records ud
While Not rs.EOF and rowCount < rs.PageSize

  Response.write rs(\"varebeskrivelse\")

  Response.write \"<br>\"
  rowCount = rowCount + 1
  rs.Movenext

Wend

\' Hvis der er behov for flere sider for at vise hele recordsettet, så kommer her links...
If rs.PageCount <> 1 Then
  For i = 1 to rs.PageCount
    response.write \"<a href=\'paging.asp?page=\" & i & \"\'>\" & i & \"</a>\"
  Next
End If

%>

</body>
</html>
Avatar billede pomfrit Nybegynder
28. december 2001 - 14:17 #1
Det ligner et typisk:
Jeg-glemmer-at-smide-resultatet-af-søgningen-til-næste-side-problem.

Avatar billede pomfrit Nybegynder
28. december 2001 - 14:25 #2
Løsning: Gem det der blev søgt på i en cookie eller session-variabel, også hente det igen når du kommer til en af de andre sider.

Avatar billede mekaniker Nybegynder
28. december 2001 - 14:40 #3
Kan du give et eksempel.?
Jeg er ikke helt klar over hvor resultatet bliver gemt, men hvis du kan fortælle mig det så tror jeg godt jeg kan klare den

//Mekaniker
Avatar billede mekaniker Nybegynder
29. januar 2002 - 11:51 #4
Har selv fundet ud af det, uden session eller cookie
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester