---
title: "zpaging_II"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11302-zpaging-ii"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Crimz0n"
published: "2001-08-23T16:46:00.000Z"
updated: "2001-08-26T22:56:00.000Z"
replies: 23
views: 251
page: 1
pages: 2
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/11302-zpaging-ii"
---

# zpaging_II

_Sida 1 av 2._

## #1 — Crimz0n, 2001-08-23T16:46Z

Har lite problem med Patricks zPaging_II script...jag använder det på en gästbok men när man går till sista sida, alltså den med de älsta posterna så står det

```
Microsoft VBScript runtime error '800a0009' 
Subscript out of range: '36'
```

Nån som känner sig manad att kliva fram och berätta hur man fixar d, eller ens om d går att fixa...

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

## #2 — jorgen, 2001-08-23T16:58Z

Hej!

Du har antagligen skrivit ett förhögt nummer när du definierar hämtningen från din sql fråga:

```

strvariabel = arrRecords(7,I)
```

skulle 7 vara större än antalet fält i SQL frågan får du det meddelandet.

mvh Jörgen

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

## #3 — PatrikB, 2001-08-23T17:03Z

första fältet i sql-frågan är alltid 0

om antal fält i sql-frågan är 7 så blir den sista positionen i den första dimensionen:

```
strvariabel = arrRecords(6,I)
```

cya,
PatrikB

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

## #4 — Crimz0n, 2001-08-23T17:07Z

hmm, nae...allt verkar stämma

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

## #5 — PatrikB, 2001-08-23T17:12Z

jag vill se din kod .... :D

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

## #6 — Crimz0n, 2001-08-23T17:13Z

Here goes...(ignorera all html-kod)

```
<%
Option Explicit
Response.Buffer = FALSE
%>
<!--#include file="../_nem-flz/bot.inc"-->
<!--#include file="ssi/strings.txt"-->
<%
Session.LCID = 1053

Dim Anvandare, User
Anvandare = Request.Querystring("user")
User = Session("anv")

Function getRecords
	Dim m_objConn
	Dim m_strSQL
	Dim m_objRS
	Dim m_arrRecords
			
	Set m_objConn = Server.CreateObject("ADODB.Connection")
		m_objConn.Open "orrbo.nu-log"
		
		m_strSQL = "SELECT gast.BokId, gast.Meddelande, gast.Nar, gast.Vem, gast.Till, users.Anvnamn, users.bild " & _
			"FROM gast, users Where gast.Till ='" & anvandare & "' AND users.Anvnamn = gast.Vem " & _
			"ORDER BY Bokid DESC"
						
			Set m_objRS = m_objConn.Execute(m_strSQL)
			
				If Not m_objRS.EOF Then
					m_arrRecords = m_objRS.GetRows
					getRecords = m_arrRecords
				End If
				
				m_objRS.Close
			Set m_objRS = Nothing
			
		m_objConn.Close
	Set m_objConn = Nothing

End Function

Sub nUpdate
	Dim n_objConn
	Dim n_strSQL

	Set n_objConn = Server.CreateObject("ADODB.Connection")
	n_objConn.Open "orrbo.nu-log"

	n_strSQL = "UPDATE gast SET sett = '1' WHERE till ='" & Anvandare & "'"
	n_objConn.Execute(n_strSQL)
			
	n_objConn.Close
	Set n_objConn = Nothing
End Sub

Function oCount
	Dim o_objConn
	Dim o_strSQL
	Dim o_objRS
	Dim o_arrRecords
			
	Set o_objConn = Server.CreateObject("ADODB.Connection")
		o_objConn.Open "orrbo.nu-log"
		
		o_strSQL = "Select Count(bokid) AS Antal From gast Where Till ='" & Anvandare & "'"
						
			Set o_objRS = o_objConn.Execute(o_strSQL)

				o_arrRecords = o_objRS.GetRows
				oCount = o_arrRecords
			
				o_objRS.Close
			Set o_objRS = Nothing
			
		o_objConn.Close
	Set o_objConn = Nothing
End Function

Sub PrevPage(ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	If CInt(WichPage) > 1 Then
		Response.Write "<a target=""main"" href=""gbok.asp?user=" & Anvandare & "&page=" & WichPage - 1 & "&paper_fallout=" & paper & """ onMouseOut=""MM_swapImgRestore()"""&_ 
		  "onMouseOver=""MM_swapImage('bakat','','../_nem-gfx/buts/but_foregaende_on.gif',0)""><IMG SRC='../_nem-gfx/buts/but_foregaende.gif' NAME='bakat' border=0></a>"
	Else
		Response.Write "<IMG SRC='../_nem-gfx/buts/but_foregaende.gif' border=0>"
	End If
End Sub

Sub NextPage(ByVal HowManyPages, ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")
	
	If CInt(WichPage) < CInt(HowManyPages) Then
		Response.Write "<a target=""main"" href=""gbok.asp?user=" & Anvandare & "&page=" & WichPage + 1 & "&paper_fallout=" & paper & """ onMouseOut=""MM_swapImgRestore()"""&_ 
		  "onMouseOver=""MM_swapImage('framat','','../_nem-gfx/buts/but_nasta_on.gif',0)""><IMG SRC=""../_nem-gfx/buts/but_nasta.gif"" NAME=""framat"" BORDER=0>"
	Else
		Response.Write "<IMG SRC=""../_nem-gfx/buts/but_nasta.gif"" BORDER=0>"
	End If

End Sub

Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
	Dim m_intStart
	m_intStart = ((PageSize * ViewPage) - PageSize)
	getStartID = m_intStart
End Function

Function countPages(ByVal HowManyRecords, ByVal PageSize)
	Dim m_intTotalPages, m_intRest

	m_intTotalPages = HowManyRecords / PageSize

	If m_intTotalPages < 1 Then
		m_intTotalPages = 1
	Else
		m_intRest = m_intTotalPages - CLng(m_intTotalPages)
		
		If m_intRest > 0 AND m_intRest < 0.5 Then
			m_intTotalPages = CLng(m_intTotalPages) + 1
		Else
			m_intTotalPages = CLng(m_intTotalPages)
		End If
	End If

	countPages = m_intTotalPages
End Function

Dim arrRecords
Dim crrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim strNamn
Dim dteDatum
Dim intTotalPages
Dim intTotalRecords
Dim msgMeddelande
Dim toTill
Dim picBild

intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1

intPageSize = 10

arrRecords = getRecords

IF Anvandare = User THEN
Call nUpdate
END IF

crrRecords = oCount

intStartID = getStartID(intPageSize, intPage)
%>
 <%
If IsArray(arrRecords) Then
	intTotalRecords = crrRecords(0,0) + 1
	
	intTotalPages = countPages(intTotalRecords, intPageSize)

		For I = intStartID To ((intStartID + intPageSize) -1)

		intId = arrRecords(0,I)
		msgMeddelande = arrRecords(1,I)
		dteDatum = arrRecords(2,I)
		strNamn = arrRecords(3,I)
		toTill = arrRecords(4,I)
		picBild = arrRecords(6,I)

		 Response.Write "<tr bgcolor=""#c0c0c0"">"&_
		  "<td><FONT FACE=""verdana, tahoma, arial"" SIZE=1> " & dteDatum & " <br>"&_
		  "<a href=""user.asp?user="& strNamn & "&paper_fallout=" & paper & """ target=""main"">"& strNamn & "</a> &#0124; the king of the hill<br>"&_
		  "" & Server.HTMLEncode(msgMeddelande) & "<br><IMG SRC=""../_nem-gfx/pix.gif"" WIDTH=1 HEIGHT=3><br>"

		  IF Anvandare = User THEN
		  Response.Write "<a href=""gbok.asp?user="& strNamn & "&paper_fallout=" & paper & """ target=""main""><img src=""../_nem-gfx/buts/but_svara.gif"" border=0></a>"&_
		  "<a href=""gbok_del.asp?user="& toTill & "&id="& intId & "&who="& strNamn & "&paper_fallout=" & paper & """ target=""main""><img src=""../_nem-gfx/buts/but_tabort.gif"" border=0></a>"

		  ELSEIF strNamn = User THEN
		  Response.Write "<a href=""gbok_del.asp?user="& toTill & "&id="& intId & "&who="& strNamn & "&paper_fallout=" & paper & """ target=""main""><img src=""../_nem-gfx/buts/but_tabort.gif"" border=0></a>"
		  END IF

		  Response.Write "</td>"&_
		  "<td valign=top><a href=""user.asp?user="& strNamn & "&paper_fallout=" & paper & """ target=""main""><img src=""../_nem-gfx/users/"& picBild & """ height=""50"" border=0></a></td>"&_
		 "</tr><tr>"&_
		  "<td colspan=2 height=10><IMG SRC=""../_nem-gfx/pix.gif"" WIDTH=1 HEIGHT=1></td>"&_
		 "</tr>"

		Next

		Else
	
		intPage = 0
		intTotalRecords = 0
		intTotalPages = 0
	
		Response.Write "Du har inga gästboksinlägg!"
		End If

		Response.Write "</table>"&_
		 "<table cellpadding=0 cellspacing=0 height=16 width=""100%"" border=0><tr>"&_
		  "<td colspan=2 height=3 background=""../_nem-gfx/mid_linesmaker.gif""><IMG SRC=""../_nem-gfx/pix.gif"" WIDTH=1 HEIGHT=1></td>"&_
	        "</tr><tr>"&_
		  "<td width=""30%"" height=13 align=left valign=bottom>"

		  Call PrevPage(intPage)
		  Response.Write " &#0124; "
	
		 Response.Write "</td><td width=""70%"" height=13 valign=bottom>"

 		Response.Write "Visar nu sida <B>" & intPage & "</B> av " & intTotalPages & " &#0124; "

		Call NextPage(intTotalPages,intPage)
%> 

		

		 </td>
		</tr></table>

	      </td>
	     </tr></table>
```

\[Redigerat av Crimz0n den 23 aug 2001\]

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

## #7 — PatrikB, 2001-08-23T17:26Z

vilken rad blir felet på ....

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

## #8 — PatrikB, 2001-08-23T17:35Z

```
intTotalRecords = crrRecords(0,0) + 1
```

vad gör denna bit kod????

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

## #9 — PatrikB, 2001-08-23T17:37Z

Om du vill ha hur många inlägg det är totalt så gör du det så här:

```
intTotalRecords = UBound(arrRecords,2)
```

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

## #10 — PatrikB, 2001-08-23T17:43Z

och om jag inte minns fel så stod det så från början ...

Arrayen arrRecords e den arrayen som hela scriptet bygger på så att mickla med att lägga in en annan räkning av totalt antal inlägg e inte så bra.

cya,
PatrikB

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

## #11 — Crimz0n, 2001-08-23T19:27Z

Du har rätt, den där raden stod där från början men då d ej funka testa jag att byta ut den mot en annan...men men nu satte jag dit den igen och.....det funkar fortfarande inte, står att felet ligger på rad 235..

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

## #12 — jorgen, 2001-08-23T19:31Z

vilken rad är 235?

mvh jörgen

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

## #13 — Crimz0n, 2001-08-23T19:40Z

intTotalRecords = UBound(arrRecords,2)

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

## #14 — jorgen, 2001-08-23T19:48Z

men den raden har du ju bytat ut mot:

intTotalRecords = crrRecords(0,0) + 1

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

## #15 — Crimz0n, 2001-08-23T19:51Z

jepp, det funkade inte då heller...det var då jag bytte tillbax utan resultat...

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

## #16 — jorgen, 2001-08-23T19:53Z

Måste ju säga att det är inte många rader som är likt orginalpagingen.

Jag hade börjat om från början.

mvh Jörgen

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

## #17 — Crimz0n, 2001-08-23T19:55Z

tjaa, kanske d...vi får se vad Patrick säger imorrn...

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

## #18 — jorgen, 2001-08-23T20:05Z

Tja!

Blir nog måndag eller tidigast söndagkväll skulle jag tro :(

mvh Jörgen

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

## #19 — Crimz0n, 2001-08-23T20:10Z

jobbit :(

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

## #20 — PatrikB, 2001-08-24T06:14Z

Back to reality!! ;)

Prova denna kod:

```
<%
Option Explicit
Response.Buffer = FALSE
%>
<!--#include file="../_nem-flz/bot.inc"-->
<!--#include file="ssi/strings.txt"-->
<%
Session.LCID = 1053
Dim Anvandare, User
Anvandare = Request.Querystring("user")
User = Session("anv")

Function getRecords
	Dim m_objConn
	Dim m_strSQL
	Dim m_objRS
	Dim m_arrRecords

	Set m_objConn = Server.CreateObject("ADODB.Connection")
		m_objConn.Open "orrbo.nu-log"

		m_strSQL = "SELECT gast.BokId, gast.Meddelande, gast.Nar, gast.Vem, gast.Till, users.Anvnamn, users.bild " & _
		"FROM gast, users Where gast.Till ='" & anvandare & "' AND users.Anvnamn = gast.Vem " & _
		"ORDER BY Bokid DESC"

		Set m_objRS = m_objConn.Execute(m_strSQL)

			If Not m_objRS.EOF Then
				m_arrRecords = m_objRS.GetRows
				getRecords = m_arrRecords
			End If

			m_objRS.Close
		Set m_objRS = Nothing

		m_objConn.Close
	Set m_objConn = Nothing

End Function

Sub PrevPage(ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	If CInt(WichPage) > 1 Then
		Response.Write "<a target=""main"" href=""gbok.asp?user=" & Anvandare & "&page=" & WichPage - 1 & "&paper_fallout=" & paper & """ onMouseOut=""MM_swapImgRestore()"""&_ 
		"onMouseOver=""MM_swapImage('bakat','','../_nem-gfx/buts/but_foregaende_on.gif',0)""><IMG SRC='../_nem-gfx/buts/but_foregaende.gif' NAME='bakat' border=0></a>"
	Else
		Response.Write "<IMG SRC='../_nem-gfx/buts/but_foregaende.gif' border=0>"
	End If
End Sub

Sub NextPage(ByVal HowManyPages, ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	If CInt(WichPage) < CInt(HowManyPages) Then
		Response.Write "<a target=""main"" href=""gbok.asp?user=" & Anvandare & "&page=" & WichPage + 1 & "&paper_fallout=" & paper & """ onMouseOut=""MM_swapImgRestore()"""&_ 
		"onMouseOver=""MM_swapImage('framat','','../_nem-gfx/buts/but_nasta_on.gif',0)""><IMG SRC=""../_nem-gfx/buts/but_nasta.gif"" NAME=""framat"" BORDER=0>"
	Else
		Response.Write "<IMG SRC=""../_nem-gfx/buts/but_nasta.gif"" BORDER=0>"
	End If

End Sub

Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
	Dim m_intStart
	m_intStart = ((PageSize * ViewPage) - PageSize)
	getStartID = m_intStart
End Function

Function countPages(ByVal HowManyRecords, ByVal PageSize)
	Dim m_intTotalPages, m_intRest

	m_intTotalPages = HowManyRecords / PageSize

	If m_intTotalPages < 1 Then
		m_intTotalPages = 1
	Else
		m_intRest = m_intTotalPages - CLng(m_intTotalPages)

		If m_intRest > 0 AND m_intRest < 0.5 Then
			m_intTotalPages = CLng(m_intTotalPages) + 1
		Else
			m_intTotalPages = CLng(m_intTotalPages)
		End If
	End If

	countPages = m_intTotalPages
End Function

Dim arrRecords
Dim crrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim strNamn
Dim dteDatum
Dim intTotalPages
Dim intTotalRecords
Dim msgMeddelande
Dim toTill
Dim picBild

intPage = Request.QueryString("page")
	If intPage = "" Then intPage = 1

intPageSize = 10

arrRecords = getRecords

intStartID = getStartID(intPageSize, intPage)

If IsArray(arrRecords) Then
	intTotalRecords = UBound(arrRecords,2)

	intTotalPages = countPages(intTotalRecords, intPageSize)

	For I = intStartID To ((intStartID + intPageSize) -1)

		intId = arrRecords(0,I)
		msgMeddelande = arrRecords(1,I)
		dteDatum = arrRecords(2,I)
		strNamn = arrRecords(3,I)
		toTill = arrRecords(4,I)
		picBild = arrRecords(6,I)

	Next

	Call PrevPage(intPage)

	Response.Write " &#0124; "

	Call NextPage(intTotalPages,intPage)

End If
%>
```

så får vi se vad det blir för fel,om det blir några fel :p

cya,
PatrikB

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11302-zpaging-ii  
Nästa sida: https://www.webforum.nu/amne/asp/11302-zpaging-ii/page2.md
