---
title: "Paging"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/57264-paging"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Asa"
published: "2002-10-28T01:43:57.000Z"
updated: "2002-10-28T13:06:29.000Z"
replies: 3
views: 251
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/57264-paging"
---

# Paging

## #1 — Asa, 2002-10-28T01:43Z

Hur gör man så att sidorna står så här:

\[1-10\] \[11-20\] \[21-30\]

Min kod ser ut så här:

```
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/galleri.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

perSida = 3                                    'Bilder per sida

Sidan = Request.QueryString("sida")
If Sidan = "" then 
   sida = 1 
Else 
   sida = Sidan 
End If 

With RecSet
  .CursorLocation = 3
  .CacheSize = perSida
End With

SQL = "Select * From bilder"
RecSet.Open SQL, Conn

If RecSet.EOF Then%>

Tomt

<%Else

With RecSet
  .MoveFirst 
  .PageSize = perSida 
  .AbsolutePage = sida
End With

Sidor =  RecSet.PageCount
X = 0 
If Request.QueryString("Z") <> "" then
   Z=Request.QueryString("Z")
Else
   Z=1
End If
Do While Not RecSet.EOF And X < RecSet.PageSize%> 

Plats: <%=z%> - <%=RecSet("namn")%><br>

<%Z = Z + 1
X = X + 1
Recset.MoveNext
Loop

Recset.Close
Set Recset = Nothing

If Request.QueryString("Z") <> "" then
   Z=Request.QueryString("Z")
Else
   Z=1
End If

If Request.QueryString("sida") <> "" then 
   sida = Request.QueryString("sida")
Else 
   sida = 1 
End If%>
<br>
<%If Sidor <> 1 Then
        If (Int(sida)) <> 1 Then%>
             <a href="visa2.asp?sida=<%=(Int(sida)-1)%>&z=<%=Z-perSida%>"><b>«</b></a>
        <%Else
        Response.Write ""
        End If

        For Sid = 1 To Sidor 
             If (Int(Sid)) = (Int(sida)) Then%><%=Sid%> <%Else%> <a href="visa2.asp?sida=<%=Sid%>&z=<%=persida*Sid-perSida+1%>"><%=Sid%></a> <%End If
        Next

        If (Int(sida)) <> (Int(Sidor)) AND X > 0 Then%>
             <a href="visa2.asp?sida=<%=(Int(sida)+1)%>&z=<%=Z+perSida%>"><b>»</b></a>
        <%Else
        End If
    End If 
End If

Conn.Close
Set Conn = Nothing%>
```

Permalänk: https://www.webforum.nu/p/57264

## #2 — PatrikB, 2002-10-28T07:41Z

ok, lite matematik då ;)

```
startPost =((sida * perSida) + 1) - perSida
endPost = sida + perSida

Response.Write "[" & startPost & " - " & endPost & "]"
```

detta är själva matematiken, bara att loopa igenom beroende på hur många sidor du har ;)

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/836293

## #3 — Asa, 2002-10-28T08:00Z

Så här gjorde jag för den loopar ut vilken sida man är på:

```
        For Sid = 1 To Sidor 
           startPost =((sid * perSida) + 1) - perSida
           endPost = startPost + perSida-1
           If (Int(Sid)) = (Int(sida)) Then%>
                [<%=startPost%>-<%=endPost%>] 
           <%Else%> 
                <a href="visa2.asp?sida=<%=Sid%>&z=<%=persida*Sid-perSida+1%>">[<%=startPost%>-<%=endPost%>]</a> 
           <%End If
        Next
```

Permalänk: https://www.webforum.nu/p/836304

## #4 — PatrikB, 2002-10-28T13:06Z

du fick det att funka.

ser nu att det vart fel i mitt exempel .... smög sin in ett + istället för \* i:

```
endPost = sida + perSida
```

skulle ju vara:

```
endPost = sida * perSida
```

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/836489

---

Tråden på webben: https://www.webforum.nu/amne/asp/57264-paging
