---
title: "Paging problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/14286-paging-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "His Divine Shadow"
published: "2002-02-06T20:11:00.000Z"
updated: "2002-02-08T13:54:00.000Z"
replies: 9
views: 240
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/14286-paging-problem"
---

# Paging problem

## #1 — His Divine Shadow, 2002-02-06T20:11Z

Lyckades med tråd problemet ändå, men nu har jag problem med paging, jag får det inte att funka...
Nån som vet hur man kan koppla en paging kod till detta script?
Det som torde vara det viktiga är väl rsThreads:
Set rsThreads = DB.Execute ("SELECT \* FROM Posts WHERE ForumID = '" & ForumID & "' AND status = '1' ORDER BY Date DESC")

Som borde användas för pagingen, men jag vet inte hur jag ska bygga in paging här...

```
<!-- #INCLUDE FILE="config.inc" -->
<HTML>
	<HEAD>
		<TITLE>Discussion Forum : by Manas Tungare</TITLE>
		<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
		<LINK REL="stylesheet" HREF="forum.css">
	</HEAD>
	<Message BGCOLOR="#FFFFFF" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
		<%
Public Sub treeMessage_Build(MessageID, Level)
Dim rsPosts
Set rsPosts = DB.Execute ("SELECT * FROM Posts WHERE ForumID = '"& Request.QueryString("ForumID") &"' ORDER BY Date ASC")

	rsPosts.Filter = "MessageID = " & MessageID
	%>
		<img src="images/threader.jpg" width="<%= Level * 20 %>" height="2"> <font face="arial,tahoma" size="2">
			<img src="images/arrows/<%=rsPosts("Status")%>.jpg">&nbsp; <a href="Message.asp?ID=<%=rsPosts("MessageID")%>" target="Message">
				<%=rsPosts("Subject")%>
			</a>&nbsp;-&nbsp;<%=rsPosts("Author")%>&nbsp;<font face="arial,tahoma" size="1" color="<% if datediff("h",Date,now()) < 24 then %>Blue<%ELSE%>Red<%END IF%>">(<%=rsPosts("Date")%> )</font>
			<br>
			<%
	rsPosts.Filter = "Parent = " & MessageID

	If Not (rsPosts.EOF And rsPosts.BOF) Then
		rsPosts.MoveFirst
		While Not rsPosts.EOF
			treeMessage_Build rsPosts("MessageID"), Level+1
			rsPosts.MoveNext
		Wend
	End If
End Sub
%>
			<%
If Request ("ForumID") = "" Then
	' We don't have a valid ForumID, so go back to the main page.
response.Redirect("thread.asp?ForumID=1")
End If

Dim ForumID
ForumID = Request("ForumID")

Dim DB, rsForum, rsPosts, rsThreads
Set DB = Connect (ForumMDB)
Set rsForum = DB.Execute ("SELECT * FROM Forums WHERE ForumID = " & ForumID)
Set rsPosts = DB.Execute ("SELECT * FROM Posts WHERE ForumID = '" & ForumID & "' ORDER BY Date ASC")
Set rsThreads = DB.Execute ("SELECT * FROM Posts WHERE ForumID = '" & ForumID & "' AND status = '1' ORDER BY Date DESC")

If rsThreads.BOF And rsThreads.EOF Then
  ShowError ("<P ALIGN=""center"">There are no Posts in this forum.<br><A HREF=""post.asp?ForumID="& ForumID &"&Status=1"" target=""Message""><img border=""0"" SRC=""images/newpost.jpg""></A></P>")
%>
			<%
Else
	rsThreads.MoveFirst
%>
			<table width="100%">
				<tr>
					<td>
						<font face="arial,tahoma" size="2"><b>
								<%=rsForum("Forum")%>
							</b></font>
						<br>
						<font face="arial,tahoma" size="2">
							<%=rsForum("Description")%>
						</font>
					</td>
					<td align="right" width="12%">
						<A HREF="post.asp?ForumID=<%=ForumID%>&Status=1" target="Message"><img border="0" SRC="images/newpost.jpg"></A>
					</td>
				</tr>
			</table>
			<br>
			<%
				While Not rsThreads.EOF
					treeMessage_Build rsThreads("MessageID"), 0
					rsThreads.MoveNext
				Wend
		      %>
			<% End If %>
</HTML>
```

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

## #2 — His Divine Shadow, 2002-02-06T22:42Z

Här så är koden som jag tänkte lägga in, men som tyvärr inte funkar.
Tack i förväg om nån vet hur detta ska pusslas ihop, har försökt i flera dagar utan framgång.

```
<!--#include file="../connect.asp"-->
<%

Dim objConn
Dim strConnString
Dim strSQL
Dim objRS
Dim strName
Dim strComment
Dim dteDate
Dim intPageSize
Dim intPage
Dim intTotalPages
Dim intRecordCount

'## -- connection string, vilken provider och db ska användas --

'## -- hur många inlägg ska visas per sida --
intPageSize = 15

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")

%>
<html>
	<head>
	</head>
	<body>
		<center>
			<font face="Verdana" size="2">Results for: <b>
					<%=searchTerm%>
				</b></font>
			<br>
			<%
If intPage = "" Then intPage = 1

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open connection

strSQL = "SELECT * from quotes where "& what &" LIKE '%"& replace(searchTerm,"'","''") &"%' ORDER BY Subcategory ASC" 

'## -- skapa ett recordset --
Set objRS = Server.CreateObject("ADODB.Recordset")
'## -- hur många poster ska visas per sida --
objRS.PageSize = intPageSize

'## -- öppna och hämta alla records --
objRS.Open strSQL, objConn, 3, 1

If objRS.EOF Then
Response.Write "<br>No results matched your query.<br><br>"
Else

'## -- vilken sida i recordset uppdelningen ska visas --
objRS.AbsolutePage = intPage

'## -- hur många sidor finns i recordset uppdelningen --
intTotalPages = objRS.PageCount

'## -- lista alla inlägg som finns i db --
Do Until objRS.EOF or intRecordCount >= intPageSize

intRecordCount = intRecordCount + 1

strName = objRS(1)
strComment = objRS(2)
dteDate = objRS(3)

%>
HÄR BORDE KODEN SOM VISAR SIDAN KOMMA
			<%
objRS.MoveNext
Loop
End If

'## -- clean up --
objRS.Close
Set objRS = Nothing

objConn.Close
Set objConn = Nothing

'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)
%>
	</body>
</html>
<%
'## -- skapa sid-navigering --
Sub PageNavigation(ByVal WichPage, ByVal HowManyPages)
Dim strScriptName
Dim I

'## -- vilken sida ska navigeringen länka till --
strScriptName = Request.ServerVariables("SCRIPT_NAME")

'## -- visa föregående, länkat eller olänkat beroende på vilken sida som visas --
If CInt(WichPage) > 1 Then %>
<A href="<%=strScriptName%>?page=<%=WichPage - 1%>&forumID=<%=forumID%>">
	<font face="Verdana" size="1"><< Previous</A>
<%Else
Response.Write "<font face=""Verdana"" size=""1""><< Previous "
End If

'## -- lista ut alla sidnummer --
For I = 1 To HowManyPages
If CInt(WichPage) <> I Then %>
<A href="<%=strScriptName%>?page=<%=I%>&forumID=<%=forumID%>"><font face="Verdana" size="1">
		<%=I%></A>
<%
Else
%>
[ <B>
	<%=I%>
</B>]</font>
<%
End If
Next

'## -- visa Nästa, länkad eller olänkad beroende på vilken sida som visas --
If CInt(WichPage) < CInt(HowManyPages) Then %>
<A href="<%=strScriptName%>?page=<%=WichPage + 1%>&forumID=<%=forumID%>">
	<font face="Verdana" size="1">Next >></A>
<%
Else%>
<font face="Verdana" size="1">Next >>
	<%End If

End Sub

set objRS= nothing
set objConn = nothing
%>
</font>
```

\[Redigerat av His Divine Shadow den 06 feb 2002\]

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

## #3 — Vide, 2002-02-06T23:11Z

Vad är det som inte fungerar?

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

## #4 — His Divine Shadow, 2002-02-06T23:16Z

Jag önskar jag kunde ge en bättre bild, jag har bara dessa två skilda koder nu, innan hadde jag lyckats få ihop dom så att dom någorlunda funkade, men då tappade jag det.
Det skulle ha varit mycket enklare om jag hadde denna kod kvar, så kanske ni kunnat se var jag gick fel, annars nu, så undrar jag hur jag kombinerar dessa två koder.

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

## #5 — PatrikB, 2002-02-07T08:02Z

Vad är det som blir fel?

cya,
PatrikB

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

## #6 — His Divine Shadow, 2002-02-07T09:57Z

OK, nu har jag koden kombinerad, men det funkar fortfarande inte.
Ni kan se det här, jag har temporärt läggt upp forumet här: <http://www.uniimport.fi/forum/> 

Här är koden som inte funkar:

```
<!--#include file="../connect.asp"-->
<%
Response.Buffer = True
Response.Expires = -1000

Const ForumMDB = "/db/forum.mdb"

Public Sub ShowError(Err)
  If CStr(Err) <> "" Then
      Response.Write "<P CLASS=""Error"">" + CStr(Err) + "</P>"
  End If
End Sub

Function Connect (Path2DB)
    Dim DB
    Set DB = Server.CreateObject("ADODB.Connection")
    DB.Mode = adModeReadWrite 'Since we will be adding entries.
    DB.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath(Path2DB))
    Set Connect = DB
End Function

' Function Escape() replaces single-quotes with a pair of single-quotes.
' Otherwise we face problems inserting it into SQL statements.
Function Escape(sz)
    Escape = Replace(sz, "'", "''")
End Function

' Function ShortData() formats a given Data as a nice-looking
' small string of the format:
' DD MMM, YYYY.
Public Function ShortDate(dtDate)
  If Not IsNull (dtDate) Then
    ShortDate = Day(dtDate) & " " & Left(MonthName (Month(dtDate)), 3) & ", " & Year(dtDate)
  Else
    ShortDate = dtDate
  End If
End Function
%>
<HTML>
	<HEAD>
		<TITLE>Discussion Forum : by Manas Tungare</TITLE>
		<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
		<LINK REL="stylesheet" HREF="forum.css">
	</HEAD>
	<Message BGCOLOR="#FFFFFF" LEFTMARGIN="0" TOPMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0">
		<%
Public Sub treeMessage_Build(MessageID, Level)
Dim rsPosts
Set rsPosts = DB.Execute ("SELECT * FROM Posts WHERE ForumID = '"& Request.QueryString("ForumID") &"' ORDER BY Date ASC")

	rsPosts.Filter = "MessageID = " & MessageID
	%>
		<img src="images/threader.jpg" width="<%= Level * 20 %>" height="2"> <font face="arial,tahoma" size="2">
			<img src="images/arrows/<%=rsPosts("Status")%>.jpg">&nbsp; <a href="Message.asp?ID=<%=rsPosts("MessageID")%>" target="Message">
				<%=rsPosts("Subject")%>
			</a>&nbsp;-&nbsp;<%=rsPosts("Author")%>&nbsp;<font face="arial,tahoma" size="1" color="<% if datediff("h",Date,now()) < 24 then %>Blue<%ELSE%>Red<%END IF%>">(<%=rsPosts("Date")%> )</font>
			<br>
			<%
	rsPosts.Filter = "Parent = " & MessageID

	If Not (rsPosts.EOF And rsPosts.BOF) Then
		rsPosts.MoveFirst
		While Not rsPosts.EOF
			treeMessage_Build rsPosts("MessageID"), Level+1
			rsPosts.MoveNext
		Wend
	End If
End Sub
%>
			<%
Dim objConn
Dim strConnString
Dim strSQL
Dim objRS
Dim strName
Dim strComment
Dim dteDate
Dim intPageSize
Dim intPage
Dim intTotalPages
Dim intRecordCount

'## -- connection string, vilken provider och db ska användas --

'## -- hur många inlägg ska visas per sida --
intPageSize = 2

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")

%>
			<%
If intPage = "" Then intPage = 1

ForumID = request.QueryString("ForumID")

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open forum

strSQL = "SELECT * FROM Posts WHERE ForumID = '" & ForumID & "' AND status = '1' ORDER BY Date DESC"

'## -- skapa ett recordset --
Set objRS = Server.CreateObject("ADODB.Recordset")
'## -- hur många poster ska visas per sida --
objRS.PageSize = intPageSize

'## -- öppna och hämta alla records --
objRS.Open strSQL, objConn, 3, 1

If objRS.EOF Then
Response.Write "<br>No results matched your query.<br><br>"
Else

'## -- vilken sida i recordset uppdelningen ska visas --
objRS.AbsolutePage = intPage

'## -- hur många sidor finns i recordset uppdelningen --
intTotalPages = objRS.PageCount

'## -- lista alla inlägg som finns i db --
Do Until objRS.EOF or intRecordCount >= intPageSize

intRecordCount = intRecordCount + 1

strName = objRS(1)
strComment = objRS(2)
dteDate = objRS(3)

%>
			<%
If Request ("ForumID") = "" Then
	' We don't have a valid ForumID, so go back to the main page.
response.Redirect("thread.asp?ForumID=1")
End If

Dim ForumID
ForumID = Request("ForumID")

Dim DB, rsForum, rsPosts, rsThreads
Set DB = Connect (ForumMDB)
Set rsForum = DB.Execute ("SELECT * FROM Forums WHERE ForumID = " & ForumID)
Set rsPosts = DB.Execute ("SELECT * FROM Posts WHERE ForumID = '" & ForumID & "' ORDER BY Date ASC")
Set rsThreads = DB.Execute ("SELECT * FROM Posts WHERE ForumID = '" & ForumID & "' AND status = '1' ORDER BY Date DESC")

If rsThreads.BOF And rsThreads.EOF Then
  ShowError ("<P ALIGN=""center"">There are no Posts in this forum.<br><A HREF=""post.asp?ForumID="& ForumID &"&Status=1"" target=""Message""><img border=""0"" SRC=""images/newpost.jpg""></A></P>")
%>
			<%
Else
	rsThreads.MoveFirst
%>
			<table width="100%">
				<tr>
					<td>
						<font face="arial,tahoma" size="2"><b>
								<%=rsForum("Forum")%>
							</b></font>
						<br>
						<font face="arial,tahoma" size="2">
							<%=rsForum("Description")%>
						</font>
					</td>
					<td align="right" width="12%">
						<A HREF="post.asp?ForumID=<%=ForumID%>&Status=1" target="Message"><img border="0" SRC="images/newpost.jpg"></A>
					</td>
				</tr>
			</table>
			<br>
			<%
				While Not rsThreads.EOF
					treeMessage_Build rsThreads("MessageID"), 0
					rsThreads.MoveNext
				Wend
		      %>
			<% End If %>
			<%
objRS.MoveNext
Loop
End If

'## -- clean up --
objRS.Close
Set objRS = Nothing

objConn.Close
Set objConn = Nothing

'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)
%>
	</body>
</HTML>
<%
'## -- skapa sid-navigering --
Sub PageNavigation(ByVal WichPage, ByVal HowManyPages)
Dim strScriptName
Dim I

'## -- vilken sida ska navigeringen länka till --
strScriptName = Request.ServerVariables("SCRIPT_NAME")

'## -- visa föregående, länkat eller olänkat beroende på vilken sida som visas --
If CInt(WichPage) > 1 Then %>
<A href="<%=strScriptName%>?page=<%=WichPage - 1%>&forumID=<%=forumID%>"><font face="Verdana" size="1">
	<< Previous</A>
<%Else
Response.Write "<font face=""Verdana"" size=""1""><< Previous "
End If

'## -- lista ut alla sidnummer --
For I = 1 To HowManyPages
If CInt(WichPage) <> I Then %>
<A href="<%=strScriptName%>?page=<%=I%>&forumID=<%=forumID%>"><font face="Verdana" size="1">
		<%=I%></A>
<%
Else
%>
[ <B>
	<%=I%>
</B>]</font>
<%
End If
Next

'## -- visa Nästa, länkad eller olänkad beroende på vilken sida som visas --
If CInt(WichPage) < CInt(HowManyPages) Then %>
<A href="<%=strScriptName%>?page=<%=WichPage + 1%>&forumID=<%=forumID%>"><font face="Verdana" size="1">
	Next >></A>
<%
Else%>
<font face="Verdana" size="1">Next >>
	<%End If

End Sub

set objRS= nothing
set objConn = nothing
%></HTML>
```

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

## #7 — PatrikB, 2002-02-07T17:19Z

eh, va lite mycket att gå igenom ... du skulle inte kunna "fimpa" allt irrelevant HTML-kod som bara stökar till det.

En annan sak. Hur såg din grundkod ut innan du försökte att göra en paging?

Det ser ut som du har lagt till ett recordset för att sköta pagingen vilket blir lite knas. Det du skall göra är att modifiera rsThreads recordsetet till paging.

cya,
PatrikB

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

## #8 — His Divine Shadow, 2002-02-07T21:30Z

Kan ju Pröva, problemet är ju att jag inte fattar ditt som datt gällandes detta, det torde ju bli enklare om man kopierade in koden i det program man använder.

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

## #9 — His Divine Shadow, 2002-02-08T07:09Z

Hmm, prövade göra som du förslog och voilá det funkar, thx very much.

Om nån är intresserad får ni nog använda denna kod om ni vill ha en såndär "rekursiv tråd kod" ;)
Den funkar fin-fint.

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

## #10 — PatrikB, 2002-02-08T13:54Z

... och lite kod skulle vi nog vilja se ... eller andra som har haft/har problem med liknande

cya,
PatrikB

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

---

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