Avatar billede kivig Nybegynder
18. februar 2005 - 14:10 Der er 5 kommentarer og
1 løsning

Paging problem

Hejsa. Jeg har fundet et paging script som næsten virker. Mit problem opstår ved visning af de næste poster på "næste side". Jeg ved at jeg skal oprette en side med navn fx. paging.asp, men hvorledes hentes de næste poster ind ? Det er sikkert simpelt men jeg mangler nok en grundlæggende forståelse.

Her er min kode:

<%@LANGUAGE=VBScript%>
<%

dim recordsonpage, requestrecords, offset, allrecords, hiddenrecords, showrecords, lastrecord, recordcounter, pagelist, pagelistcounter


dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
  sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  "Data Source=" & Server.MapPath("db/koopdatabase.mdb") & ";" & _
  "Persist Security Info=True"
Conn.Open(sConnection)


recordsonpage = 5


allrecords = 0
set rs = conn.Execute("SELECT * FROM indextal WHERE sidenavn='arbejdsmiljø' ORDER by dato DESC")
do until rs.EOF
  allrecords = allrecords + 1
  rs.movenext
loop


offset = request.querystring("offset")
if offset = 0 OR offset = "" then
  requestrecords = 0
else
  requestrecords = requestrecords + offset
end if


set rs = conn.Execute("SELECT * FROM indextal WHERE sidenavn='arbejdsmiljø' ORDER by dato DESC")


hiddenrecords = requestrecords
do until hiddenrecords = 0 OR rs.EOF
  hiddenrecords = hiddenrecords - 1
  rs.movenext
  if rs.EOF then
    lastrecord = 1
  end if
loop
%>
<html>
<head>
<title>paging test</title>
<%
showrecords = recordsonpage
recordcounter = requestrecords
do until showrecords = 0 OR rs.EOF
recordcounter = recordcounter + 1
%>
<a href="<% = rs("type") %>/<% = rs("filnavn") %>">
<% = rs("overskrift") %></a>
<% = rs("dato") %>
<%
  showrecords = showrecords - 1
  rs.movenext
  if rs.EOF then
  lastrecord = 1
  end if
loop
%>
<% if requestrecords <> 0 then %> <a href="paging.asp?offset=<% = requestrecords - recordsonpage %>"></a>Prev Page <% else %>
                    Forrige side <% end if %>
                  <% if lastrecord <> 1 then %>
<a href="paging.asp?offset=<% = requestrecords + recordsonpage %>"></a>Next Page <% else %> Næste side <% end if %> ">Side:<%
                   
pagelist = 0
pagelistcounter = 0
do until pagelist > allrecords 
  pagelistcounter = pagelistcounter + 1
%> <a href="paging.asp?offset=<% = pagelist %>">
<% = pagelistcounter %></a>
<% pagelist = pagelist + recordsonpage
loop
%>
<%
rs.close
Conn.close
%>

På forhånd tak.

Lars
Avatar billede eagleeye Praktikant
18. februar 2005 - 14:18 #1
En metode er paging af recordset: http://activedeveloper.dk/artikler/default.asp?articleid=31

Det script du har henter alle poster ind og i dette styk kode, looper den igennem de records som er vist for de forrige sider:
hiddenrecords = requestrecords
do until hiddenrecords = 0 OR rs.EOF
  hiddenrecords = hiddenrecords - 1
  rs.movenext
  if rs.EOF then
    lastrecord = 1
  end if
loop
Avatar billede eagleeye Praktikant
18. februar 2005 - 14:24 #2
det er så linket til næste som afgør hvor mange records der springes over:
<a href="paging.asp?offset=<% = requestrecords + recordsonpage %>"
Avatar billede kivig Nybegynder
18. februar 2005 - 14:35 #3
OK.. men hvad skal der stå på paging.asp ? den skal jo hente oplysninger fra den første side. (er jeg helt galt på den ? )
Avatar billede kivig Nybegynder
18. februar 2005 - 14:39 #4
AAHHH ok.. nu er jeg helt med.. paging.asp ER siden.. og ikke en underside. :)

Tak for input.
Avatar billede kivig Nybegynder
18. februar 2005 - 14:39 #5
giv et svar og de 100 er dine :)
Avatar billede eagleeye Praktikant
18. februar 2005 - 14:40 #6
Ok ;)
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