webForumDet fria alternativet

Pagin, ytterligare en gång ... för de som ej gillar ADODB.Recordset

ASP

2 svar · 275 visningar · startad av PatrikB

Medlem sedan mars 20002 836 inlägg
Frågan#1

Hello,
[r]
Om det är någon som kör chilliASP, please, kan ni testa om den fungerar under det med
[r]

postar lite kod om en paging utan ADODB.Recordset .... jepp, det går det med ;)

Kika in koden, ändra sql utrycken så att de passar för eran db.

Tuta och kör med denna kod:

<%
Option Explicit

'## -- vilken post ska börja att visas --
Function GetStartRecord(ByVal PageSize, ByVal WichPage)

	GetStartRecord = ((PageSize*WichPage)-PageSize)
	
End Function

'## -- visa sid-navigerings meny --
Sub PageNavigation(ByVal HowManyRecords, ByVal PageSize, ByVal WichPage)
	Dim I
	Dim iPage
	Dim strScriptName
	
	'## -- till vilken sida ska uppdelningen göras på --
	strScriptName = Request.ServerVariables("SCRIPT_NAME")
	
	'## -- om det inte är första sidan, gör en länk till föregående sida --
	If Cint(WichPage) > 1 Then
		Response.Write "<A href='" & strScriptName & "?" & _
			"page=" & WichPage - 1 & "'><< Föregående</A> "
	Else
		Response.Write "<< Föregående "
	End If
	
	'## -- visa ut siffer värde för varje sida, länkad om det ej är aktuell sida --
	For I = 1 To HowManyRecords step PageSize
		iPage = iPage + 1
		If CInt(iPage) <> CInt(WichPage) Then
			Response.Write " <A href='" & strScriptName & "?" & _
				"page=" & iPage & "'>" & iPage & "</A>"
		Else
			Response.Write " <B>" & iPage & "</B>"
		End If
	Next
	
	'## -- om det inte är sista sidan, länka nästa --
	If CInt(WichPage) < CInt(iPage) Then
		Response.Write " <A href='" & strScriptName & "?" & _
			"page=" & WichPage + 1 & "'>Nästa >></A>"
	Else
		Response.Write " Nästa >>"
	End If
	
End Sub

Dim objConn
Dim strConnString
Dim intPageSize
Dim intPage
Dim intStartRecord
Dim objRS
Dim strSQL
Dim intId
Dim strName
Dim dteDate
Dim strInlagg
Dim intRecordCount
Dim strSQLcount
Dim intTotalRecords
Dim strScriptName

strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
				"Data Source=" & Server.MapPath("/db-folder/db-name.mdb")

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

'## -- hur många poster ska visas per sida --
intPageSize = 5

'## -- på vilken post ska visningen av poster börja på --
intStartRecord = GetStartRecord(intPageSize, intPage)
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
	objConn.Open strConnString
	
	strSQLcount = "SELECT COUNT(id) FROM gastbok "
	
	Set objRS = objConn.Execute(strSQLcount)
	
		'## -- totalt antal poster --
		intTotalRecords = objRS(0)
		
	strSQL = "SELECT id, namn, [datum], inlagg " & _
			"FROM gastbok " & _
			"ORDER BY [datum] DESC" 

	Set objRS = objConn.Execute(strSQL)
	
		If objRS.EOF Then
			Response.Write "Inga inlägg funna."
		Else
			objRS.Move intStartRecord
			
			Do Until objRS.EOF or intRecordCount >= intPageSize
				intRecordCount = intRecordCount + 1
				
				intId = objRS(0)
				strName = objRS(1)
				dteDate = objRS(2)
				strInlagg = objRS(3)
				
				Response.Write "Namn: " & strName & "<BR>" & _
					"Datum: " & dteDate & "<BR>" & _
					"Inlägg:<BR>" & _
					strInlagg & "<HR size=""1"" noshade>"

				objRS.MoveNext
			Loop
			
		End If
	
	'## -- rensa upp --
	Set objRS = Nothing
	
	objConn.Close
Set objConn = Nothing

'## -- start kod för paging --
Call PageNavigation(intTotalRecords,intPageSize, intPage)
%>
</BODY>
</HTML>

Hittar ni några buggar, posta dem + gärna en lösning oxå.

cya,

------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function

[Redigerat av PatrikB den 12 mar 2001]

Medlem sedan mars 20002 836 inlägg
#2

Hello,

denna paging funkar ej på chilliASP ... men, men ... jag har en paging som funkar för chilliASP oxå :o .

Pagingen för den ser ut och funkar på samma sätt som för de andra paging scripten jag visat, dvs:

<< Föregående 1 2 3 4 Nästa >>

Så, den som kör chilliASP och vill ha en paging, let me know, så skickar jag koden för den + exempel filer som ni kan labba med.

[r]
Den funkar givetvis på NT oxå ... fast då e de andra pagingscripten något snabbare ...
[/r]

cya,
PatrikB

[Redigerat av PatrikB den 16 mar 2001]

Medlem sedan juni 200032 967 inlägg
#3

patrikb, jag använder inte chili, men kan du inte slänga upp lite på wf-script?

interesting, interesting. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
respect my authoritaah!</A>

512 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
136 ms — deklarationer (db)
0 ms — hämta statistik (cache)
373 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)