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]