m_intTotalPages = (HowManyRecords -1)/ PageSize + 1
Tjenixen!
Har ett ommodifierat paging-script gjort av PatrikB men får en liten bugg som jag inte hittar lösningen på, så hjälp!
Sidan listar tumnagelbilder där besökaren kan välja hur många rader samt kolumner som ska visas per sida.
I databasen har jag 5 st poster.
På sidan väljer jag sedan att visa bilderna i två kolumner i en rad.
Det ska alltså bli samanlagt 3 sidor, 2+2+1
Dock får jag bara två sidor, får ingen länk till den sista, varför?
'nästa sida -------------------------------------------------------------------
Sub NextPage(Byval Linkname, ByVal HowManyPages, ByVal WichPage, Byval Querystrings)
Dim Pagename
Pagename = Request.ServerVariables("Script_name")
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<A href=""" & Pagename & "?" & _
"Page=" & WichPage + 1 & "&" & Querystrings & """ class=""paginglink"">" & Linkname & " </A>"
Else
Response.Write "<span class=""paging"">" & Linkname & "</span>"
End If
End Sub
'vilken post ska pagingen börja på ===========================================
Function getStartID(ByVal PageSize, ByVal ViewPage)
Dim m_intStart
m_intStart = ((PageSize * ViewPage) - PageSize)
getStartID = m_intStart
End Function
Function countPages(ByVal HowManyRecords, ByVal PageSize)
Dim m_intTotalPages
Dim 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
'Antal poster per sida samt arraynamnet =====================================
Public Sub Write_Loopstart(Byval numPages, Byval arrName)
'vilken sida ska visas
intPage = Request.QueryString("Page")
If intPage = "" Then intPage = 1
'numPages hämtas från call Write_Loopstart, antalet poster
intPageSize = numPages
'arrName hämtas från call Write_Loopstart, arraynamnet
arrRecords = arrName
'tar fram första posten
intStartID = getStartID(intPageSize, intPage)
If IsArray(arrRecords) Then
'hur många poster finns det totalt
intTotalRecords = UBound(arrRecords,2) + 1
'hur många sidor finns det i recordsetet
intTotalPages = countPages(intTotalRecords, intPageSize)
'skriver ut sidantal
End If
End Sub
'------------------------------------------------------------------------------
intRows = 1
intCols = 2
Call Write_Loopstart(intRows*intCols, arrImages) 'bestämmer antal poster per sida
Call NextPage("Nästa", intTotalPages, intPage, "") 'skriver ut länken nästa
Hoppas det inte ser för rörigt ut!
Det kan också nämnas att väljer jag nått annat än en rad och två kolumner så funkar koden. :)