---
title: "Paging Problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/160170-paging-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "_2ejon"
published: "2007-05-11T10:01:04.000Z"
updated: "2007-05-14T06:59:55.000Z"
replies: 56
views: 1446
page: 1
pages: 3
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/160170-paging-problem"
---

# Paging Problem

_Sida 1 av 3._

## #1 — _2ejon, 2007-05-11T10:01Z

Hej jag har läst hur många paging trådar som hällst här på wF men jag förstår inte riktigt hur man gör, är inte väldsmästare på å koda men jag kan läsa lite sådär när jag ser koderna.. Men vet inte hur jag ska skriva själv bara.. 

Okey nu till pagingen då.. För det första är det några speciella filer man måste includera i sidan ? Sen så vill jag att den plockar fram nästa/föregående post jag har i min databas jag kör med access..

Sen när man är på första sidan så vill jag inte att det ska visas nästa då eftersom det är 1a inlägget vi är på så ska vi juh till föregående. Och det ska vara 1 inlägg per sida.. Just nu använder jag SELECT TOP 1 \* FROM weblog ORDER BY date DESC.
Kan man använda sig av det på nått sätt för att gå till nästa å föregående inlägg.

Snälla det skulle vara tacksamt med lite hjälp :)

all hjälp liten som stor är välkommen   :bire 

```
<%
Dim rsWeblog
Dim rsComments
Dim rsCat
Dim rsCategory
%>

			<%
			set rsWeblog = ObjConn.execute("SELECT TOP 1 * FROM weblog ORDER BY date DESC")
			
			if rsWeblog.EOF Then
			Response.Write(""&emptyPosts&"")
			Else
			
			While NOT rsWeblog.EOF

			Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
			
			Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")
			%>

		<div id="menyen">
			<div id="menycontainer">
					<!-- #include file="menu2.asp" -->
			</div>
			
			<div id="hogerc">

                       [B]Här skulle jag villja ha min föregående/nästa funktion[/B] 

			<img src="icons/comments.gif">&nbsp;<a href="comments.asp?id=<%=rsWeblog("id")%>" class="bar"><%=comments%> <b>(<%=rsComments("antal")%>)</b></a>
			</div>
		</div>

			<%
			rsWeblog.MoveNext
			Wend
			rsWeblog.Close 
			Set rsWeblog = Nothing
			End If
			%>

<%
Call CloseDatabase
%>
```

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

## #2 — _2ejon, 2007-05-11T12:51Z

Ingen som kan hjälpa mig ?

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

## #3 — headbug, 2007-05-11T14:10Z

> **\_2ejon skrev:**
>
> Ingen som kan hjälpa mig ?

Nog finns det folk som kan hjälpa, men du kanske får vänta längre än 2 timmar mitt på en vardag. de flesta här jobbar nog till 17:00 :)

Det krävs en del kodande för att få det att fungera, men man kan väl säga att du måste ta reda på rätt ID på nästa inlägg i webloggen.

Man kan tänka sig att du ändrar din SQL-fråga till

```
if request.querystring("nextpost") = "" Then
    set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog ORDER BY date DESC")
else
    set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog where id<=" & request.querystring("nextpost") & " ORDER BY date DESC")
end if
```

Sen får du ändra din while-sats så att den aldrig loopar vidare utan bara visar försat posten, man vill ju bara att den ska visa första posten, sen ska du använda ID:t i nästa varv till att skapa paging-länken.

Och så vidare :) Jag har hittat på "nextpost" och ID själv, du får använda rätt variabelnamn där.

Hoppas det ger dig lite inspiration till att klura vidare, en komplett lösning som passar dina ideér och databas/script är väldigt svår att servera såhär.

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

## #4 — _2ejon, 2007-05-11T15:43Z

Okey :) Håller på å kollar lite nu. Tack så mkt än så länge :)

Men hur funkar det om man tar TOP 2 ? Blir det inte varje gång jag byter till 2 sidan så ligger det TOP 2 kvar och då kan den inte hitta det 3e sen eller ?

Alla tips och all hjälp är välkommen jag har inte löst det ännu :)

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

## #5 — headbug, 2007-05-11T16:09Z

> **\_2ejon skrev:**
>
> Okey :) Håller på å kollar lite nu. Tack så mkt än så länge :)
> 
> Men hur funkar det om man tar TOP 2 ? Blir det inte varje gång jag byter till 2 sidan så ligger det TOP 2 kvar och då kan den inte hitta det 3e sen eller ?
> 
> Alla tips och all hjälp är välkommen jag har inte löst det ännu :)

Nja, min tanke är alltså att när du klickar på "nästa" så skickar du med variabeln nextpost, tex:

```
<a href="showpost.asp?nextpost=<%=vNextpost%>">
```

och på sidan showpost.asp där all kod ligger så upptäcker du att request.quesrystring("nextpost") till exempel blir 2011

och i IF-satsen som jag visade ovan så hanmar du i 

```
...SELECT TOP 2 * FROM weblog where id<=" & request.querystring("nextpost") & ...
```

dvs då plockar du fram alla poster som har id \<= 2011 och sen väljer du ut de två översta av *dom* i sin tur.

Plus att du automagiskt får ID:t till det tredje som row nr 2 i 2011-frågan.

:)

Det är skoj med programmering!

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

## #6 — _2ejon, 2007-05-11T16:21Z

> **headbug skrev:**
>
> ```
> if request.querystring("nextpost") = "" Then
>     set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog ORDER BY date DESC")
> else
>     set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog where id<=" & request.querystring("nextpost") & " ORDER BY date DESC")
> end if
> ```
>
> 
> 
> Sen får du ändra din while-sats så att den aldrig loopar vidare utan bara visar försat posten, man vill ju bara att den ska visa första posten, sen ska du använda ID:t i nästa varv till att skapa paging-länken.

Okey men vart ska jag sätta in den nya sql frågan, ska jag bara copy pasta den över den gamla TOP 1 satsen ?

och hur menar du att jag ska göra för att ändra while-satsen så den bara visa första inlägget ?

Tack för att du hjälper mig :P Har kört fast lite asså :/ Har lyckats lösa allt förutom detta nu.

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

## #7 — _2ejon, 2007-05-11T16:53Z

Så nu har jag lagt in det du skrev och fått lite ordning på det, men hur ska jag skriva nu för att det andra inlägget inte ska visas ?

```

			<%
			if request.querystring("nextpost") = "" Then
    		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog ORDER BY date DESC")
			else
    		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog where id<=" & request.querystring("nextpost") & " ORDER BY date DESC")
			end if			
			if rsWeblog.EOF Then
			Response.Write(""&emptyPosts&"")
			Else
			
			While NOT rsWeblog.EOF

			Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
			
			Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")
			%>
```

```
<a href="default.asp?nextpost=<%=vNextpost%>"> Nästa </a>
```

och sen så blir det inget annart när jag klickar på nästa ? det står inte annorlunda heller. ska jag ändra Nextpost till id ? Eller ?

Är next post en variabel som skrivs in på denna sidan eller är det något som hämtas ifrån access databasen ?

Vill gärna kunna sätta mig in i detta lite bättre så jag förstår va det är jag sysslar med :D haha

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

## #8 — headbug, 2007-05-11T17:09Z

Jo, vi har ju aldrig definierat vNextpost.

Så för det första, hur vet man att bara första loopen ger en post?

Gör såhär, tex:

```
gotPost = false
While NOT rsWeblog.EOF
.
.
.
```

sedan precis innan "wend" skriver du 

```
gotPost = true
```

och sedan gör du en ny IF-sats

```
if gotPost = false then
			Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
			
			Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")
else
			vNextpost = rsWeblog("id")
end if
```

Hoppas du förstår vad jag trixar med :p

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

## #9 — headbug, 2007-05-11T17:12Z

Alltså

```
<%
			if request.querystring("nextpost") = "" Then
    		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog ORDER BY date DESC")
			else
    		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog where id<=" & request.querystring("nextpost") & " ORDER BY date DESC")
			end if			
			if rsWeblog.EOF Then
			Response.Write(""&emptyPosts&"")
			Else
			
			gotPost = false

			While NOT rsWeblog.EOF
			
			if gotPost = false Then

				Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
			
				Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")

			else

			
				vNextPost = rsWebLog("id")

			end if

			gotPost = true
			wend

			%>
```

Eller något sådant.

Nu blir aldrig vNextpost något sen när du klickat dig fram till absolut sista posten heller. Du kan ju snygga till \<a href bla bla bla\> Nästa \</a\> och bara visa den om vNextpost har ett värde...

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

## #10 — headbug, 2007-05-11T17:21Z

dessutom är det här en extrem-enkel variant av paging, man kan leka vidare och göra den lite bättre så att du kan klicka på sida 1 2 3 4  \>  \>\> eller hur det nu brukar se ut, då blir det ytterligare lite mer avancerat men med lite klurig kodning så löser sig det också...

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

## #11 — _2ejon, 2007-05-11T18:56Z

Så nu har jag lagt in det som du har sagt och hjälpt mig, men nu får jag bara upp detta felmedelande

Microsoft VBScript compilation  error '800a0400'

Expected statement

/blogg/default.asp, line 106

Wend
^

markerar det med tjock text vart det är i koden, skickar hela koden här:

default.asp

```
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- #include file="admin/DBconn.asp" -->
<!-- #include file="config/config.asp" -->
<!-- #include file="inc/include.asp" -->
<!-- #include file="lang/SE.asp" -->
<!-- #include file="admin/count.asp" -->

<%
Dim rsWeblog
Dim rsComments
Dim rsCat
Dim rsCategory
%>

<head>
<title><%=title2%></title>
<meta name="description" content="<%=desc%>">
<meta name="keywords" content="<%=meta%>">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="revisit-after" content="2 days" />
<meta name="robots" content="all" />
<meta name="generator" content="LBlog" />
<link href="css/styletest.css" rel="stylesheet" type="text/css">

</head>

<body>

<%
			if request.querystring("nextpost") = "" Then
    		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog ORDER BY date DESC")
			else
    		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog where id<=" & request.querystring("nextpost") & " ORDER BY date DESC")
			end if			
			if rsWeblog.EOF Then
			Response.Write(""&emptyPosts&"")
			Else
			
			gotPost = false

			While NOT rsWeblog.EOF
			
			if gotPost = false Then

				Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
			
				Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")

			else

			
				vNextPost = rsWebLog("id")

			end if

			gotPost = true
			wend
			%>

		<div id="menyen">
			<div id="menycontainer">
					<!-- #include file="menu2.asp" -->
			</div>
			
			<div id="hogerc">
			<a href="default.asp?nextpost=<%=vNextpost%>"> Nästa </a>
			<img src="icons/comments.gif">&nbsp;<a href="comments.asp?id=<%=rsWeblog("id")%>" class="bar"><%=comments%> <b>(<%=rsComments("antal")%>)</b></a>
			</div>
		</div>
	<div id="container">
			
			<div id="body">			
				
					<br>
					
					<center><table border=0 cellborder=0 cellspacing=0 height=100%>
						<td><center>
					<div id="bildram2"><div id="bildram">
						<!-- BlogbotContentStart --><%=rsWeblog("weblog")%><!-- BlogbotContentEnd -->
					</div></div>
					</td></table></center>

					<tt><!-- BlogbotTitleStart --><%=rsWeblog("headline")%><!-- BlogbotTitleEnd --></tt>				
			</div>

		</div>
		
		<div id="menyen">
			<div id="vansterd">
			<div class="date"><%=posted%><!-- BlogbotDateStart --><%=rsWeblog("date")%><!-- BlogbotDateEnd --></div>
			</div>
			<div id="hoger">
				<div id="menycontainer">
					<!-- #include file="menu3.asp" -->
				</div>
			</div>
		</div>
		
			<%
			rsWeblog.MoveNext
			[B]Wend[/B]
			rsWeblog.Close 
			Set rsWeblog = Nothing
			End If
			%>

</body>
</html>

<%
Call CloseDatabase
%>
```

Humm :/ Varför får jag det felmedelandet, och sen när jag tar bort det som är fel ifrån koden helt enkelt så blir det så som vi inte ville att det skulle bli, alltså att det blir 2 inlägg på sidan...

Ni kan kolla via denna länk så förstår ni hur det ser ut om det hjälper något
<http://www.vildalejon.se/blogg>
Vill verkligen få detta fixat :/

Tack för hjälpen så långt :) Ska vi försöka få ihop det me ? ;D

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

## #12 — Troxy, 2007-05-11T19:09Z

Det heter "Do While" i ASP/VbScript.

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

## #13 — _2ejon, 2007-05-11T19:21Z

Hur menar du ?

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

## #14 — headbug, 2007-05-11T19:39Z

<http://www.w3schools.com/vbscript/vbscript_looping.asp>

Mycket riktigt så avråder man från att använda while...wend numera, det kan man läsa på länken ovan. Använd do while.... loop istället.

Börja med det så får vi se om det löser något.

Sen ska jag kolla på film med tjejjeen så jag återkommer en annan gång om inte någon annan tar upp stafettpinnen :p

w3schools.com är ett rätt bra ställe att söka och läsa sig till en massa tips på hur man löser programmeringssknutar!

Lycka till!

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

## #15 — Troxy, 2007-05-11T19:40Z

> **\_2ejon skrev:**
>
> Hur menar du ?

Du har bara skrivit "While" i din kod. Släng dit ett "Do" innan så ska du få se på grejer.
Sen kanske du behöver byta ut "Wend" mot "Loop" också.

(Typiskt VbScript att krångla till allting)

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

## #16 — _2ejon, 2007-05-11T19:55Z

har testat lite nu :S Men fattar inte hur jag ska sätta in Do While :S
För om ni menar att jag bara ska slänga in Do framför While så här:

```
			Do While NOT rsWeblog.EOF
```

Så får jag bara upp detta fel medelandet:

Microsoft VBScript compilation  error '800a0400'

Expected statement

/blogg/default.asp, line 61

wend
^

Hur ska jag sriva egentligen ? :/ Fan de känns omöjligt å få det att funka..

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

## #17 — colione, 2007-05-11T20:02Z

ersätt wend med loop

Kollade du ens på länken du fick? där visas det hur du ska göra.

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

## #18 — _2ejon, 2007-05-11T20:34Z

Ja jag kollade men jag förstod inte redigt hur jag skulle ändra det (a)
Men de funkar nu
Koden ser nu ut såhär

```
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- #include file="admin/DBconn.asp" -->
<!-- #include file="config/config.asp" -->
<!-- #include file="inc/include.asp" -->
<!-- #include file="lang/SE.asp" -->
<!-- #include file="admin/count.asp" -->

<%
Dim rsWeblog
Dim rsComments
Dim rsCat
Dim rsCategory
%>

<head>
<title><%=title2%></title>
<meta name="description" content="<%=desc%>">
<meta name="keywords" content="<%=meta%>">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="revisit-after" content="2 days" />
<meta name="robots" content="all" />
<meta name="generator" content="LBlog" />
<link href="css/styletest.css" rel="stylesheet" type="text/css">

</head>

<body>

<%
			if request.querystring("nextpost") = "" Then
    		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog ORDER BY date DESC")
			else
    		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog where id<=" & request.querystring("nextpost") & " ORDER BY date DESC")
			end if			
			if rsWeblog.EOF Then
			Response.Write(""&emptyPosts&"")
			Else
			
			gotPost = false

			Do While NOT rsWeblog.EOF
			
			if gotPost = false Then

				Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
			
				Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")

			else

			
				vNextPost = rsWebLog("id")

			end if

			gotPost = true
			
			
			%>

		<div id="menyen">
			<div id="menycontainer">
					<!-- #include file="menu2.asp" -->
			</div>
			
			<div id="hogerc">
			<a href="default.asp?nextpost=<%=vNextpost%>"> Nästa </a>
			<img src="icons/comments.gif">&nbsp;<a href="comments.asp?id=<%=rsWeblog("id")%>" class="bar"><%=comments%> <b>(<%=rsComments("antal")%>)</b></a>
			</div>
		</div>
	<div id="container">
			
			<div id="body">			
				
					<br>
					
					<center><table border=0 cellborder=0 cellspacing=0 height=100%>
						<td><center>
					<div id="bildram2"><div id="bildram">
						<!-- BlogbotContentStart --><%=rsWeblog("weblog")%><!-- BlogbotContentEnd -->
					</div></div>
					</td></table></center>

					<tt><!-- BlogbotTitleStart --><%=rsWeblog("headline")%><!-- BlogbotTitleEnd --></tt>				
			</div>

		</div>
		
		<div id="menyen">
			<div id="vansterd">
			<div class="date"><%=posted%><!-- BlogbotDateStart --><%=rsWeblog("date")%><!-- BlogbotDateEnd --></div>
			</div>
			<div id="hoger">
				<div id="menycontainer">
					<!-- #include file="menu3.asp" -->
				</div>
			</div>
		</div>
		
			<%
			rsWeblog.MoveNext
			loop
			rsWeblog.Close 
			Set rsWeblog = Nothing
			End If
			%>

</body>
</html>

<%
Call CloseDatabase
%>
```

nu återstår bara 2 små problem, hur fixar jag så att bara ett inlägg visas åt gången och å så att jag även får en föregående knapp ?

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

## #19 — _2ejon, 2007-05-11T21:29Z

Ingen som har tid att hjälpa mig eller   :r

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

## #20 — _2ejon, 2007-05-12T08:19Z

Okey :P Är det någon som vill hjälpa mig idag då ? :D

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/160170-paging-problem  
Nästa sida: https://www.webforum.nu/amne/asp/160170-paging-problem/page2.md
