webForumDet fria alternativet

Många med mig...

ASP

5 svar · 191 visningar · startad av Ghost of North

Medlem sedan sep. 200057 inlägg
Frågan#1

Jag har lagt märke till att vi är rätt många som inte fattar hur man delar upp ett recordset.
Min fråga är nu: Finns det inget sätt att göra detta med en liten (eller längre) kodsnutt som man helt enkelt klistrar in i sin dagbok eller gästbok på lämpligt ställe? I så fall skulle ni kunniga slippa en massa dumma frågor från oss andra... ;)

Mvh

Medlem sedan mars 20002 836 inlägg
#2

OK, här kommer en variant.
Denna används här: http://www.vasterviksbk.nu/forumof/default.asp

Skapa ett recordset:

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

'## -- hämta alla querystrings --
	Set objRQS = Request.QueryString
	strRQS = ("forum=" & objRQS("forum") & "&forumname=" & Server.URLEncode(objRQS("forumname")) & "&header=forum&footer=topic")

	' om ingen querystrings finns, visa första sidan
	'-----------------------------------------------
	If intPage = "" Then intPage = 1

		'## -- skapa ett adodb.recordset för uppdelning av hela recordsetet i mindre delar/sidor --
	Set rsTopic = Server.CreateObject("ADODB.Recordset")
		rsTopic.CacheSize = 5

		'## -- hur många records ska visas/sida --
		rsTopic.PageSize = 25
		rsTopic.Open SQLtopic, myConn , 3, 1
		If Not rsTopic.EOF  Then
			rsTopic.AbsolutePage = intPage
		End If
		
			intCount = rsTopic.RecordCount

			'## -- hur många sidor finns det i recordsetet --
			intTotPages = rsTopic.PageCount

			If rsTopic.EOF or rsTopic.BOF Then
%>  

<!-- visa felmeddelande, eller det fanns ingen info i databasen -->

<%
			Else

			Do Until rsTopic.EOF or nRecCount >= rsTopic.PageSize
%>

<!-- här skriver du ut alla records du får från databasen -->

<%
				nRecCount = nRecCount + 1
				rsTopic.MoveNext
				Loop

			End If

%>

Här kommer själva funktionen/sub som skriver ut sidnavigeringen

<%
'## -- lägg denna sub i tex en inkluderingsfil för återanvändning --
'--------------------------------------------------------------------------------
' PAGE NAVIGATION BAR
'--------------------------------------------------------------------------------
Sub PageNavigation(nPage, nTotPages)
	Dim strScriptName	' AS String
	Dim I				' AS Integer
	strScriptName = Request.ServerVariables("SCRIPT_NAME")

	' If not first page, then show previous
	'--------------------------------------
	If CInt(nPage) <> 1 Then
		Response.Write("<a href=""" & strScriptName & "?" & _
							strRQS & "&page=" & nPage - 1 & """>Föregående</a> - ")
	End If	' end previous

	' loop through total pages and create links
	' to all pages in recordset
	'------------------------------------------
	For I = 1 TO nTotPages
		If CInt(I) <> CInt(nPage) Then
			Response.Write("<a href=""" & strScriptName & "?" & _
							strRQS & "&page=" & I & """>" & I & "</a> ")
		Else 
			Response.Write "<b>[" & I & "]</b> "
		End If
	Next	' next page

	' If Not current page is the last page
	' then show next page
	'-------------------------------------
	If CInt(nPage) <> CInt(nTotPages) Then
		Response.Write(" - <a href=""" & strScriptName & "?" & _
							strRQS & "&page=" & nPage + 1 & """>Nästa</a>")
	End If	' end next page
End Sub
'--------------------------------------------------------------------------------
' END PAGENAVIGATION BAR
'--------------------------------------------------------------------------------
%>

Där du sedan vill att sidnavigeringen ska visas skriver du,
OBS!!!! Denna måste finnas nedanför/efter att recordsetet har skapats och hämtats.

<% Call PageNavigation(intPage, intTotPages)%>

Denna funktion/sub ligger oxå på wF ...

Hoppas nu att ni får användning av den. Vid problem, maila mig på info@mrwize.nu

cya all after weekend,

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

[Redigerat av PatrikB den 08 mar 2001]

Medlem sedan sep. 200057 inlägg
#3

Tack PatrikB.

Jag ser fram emot att få maila till dig när jag strulat till det här också... ;)

Medlem sedan sep. 200057 inlägg
#4

Jag menade en kodsnutt man kunde klistra in rakt av in i en befintlig dagbok eller gästbok. Det kanske inte är möjligt?

Go o gla

Medlem sedan mars 20002 836 inlägg
#5

nä, lite mer än att slänga in kod för listningen av alla sidor lär du nog få göra vilken paging du än väljer att använda dig av eftersom man måste passa med en variabel som håller reda på vilken sida man vill kika på.

cya,

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

Medlem sedan sep. 200057 inlägg
#6

Ok.
Trist, men tack för infon :)

------------------
Jägermeister Cykel

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)