devotionMedlem sedan jan. 20013 582 inlägg Hej!
Paging har ju varit på tapeten många gånger men jag fattar inte riktigt... det vore hedervärt om någon vänlig själ kunde visa och förklara lite... eller länka till någon bra resurs...
Om man tänker sig följande kod:
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=IntranetSydostel"
objConn.Open
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 3, 1
If objRS.EOF then
'det finns ingeen data att skriva ut
Else
Do While not objRS.EOF
'skriv ut datat
objRS.MoveNext
Loop
End If
Hur kompletterar man den för att endast 20 poster ska visas itaget och att man sedan ska kunna stega fram och tillbaka..
Mycket tacksam för svar
Mvh
Henrik
devotionMedlem sedan jan. 20013 582 inlägg Ja, ja...
Jag förstår att ni är trötta på att svara om Paging....
Sorry...
Mvh
Henrik
emissionMedlem sedan dec. 19996 721 inlägg Det stämmer. Det finns hundratals trådar där det beskrivs, och du hittar säkert någon som passar. :)
devotionMedlem sedan jan. 20013 582 inlägg hehe... :)
Det var ju ett försök i a f...
//Henrik
devotionMedlem sedan jan. 20013 582 inlägg Hej! :birp
Tack vare den fina hjälpen jag fått här så har jag lyckats göra en paging till min sida...
Skämt åsido, det behövdes en spark där bak (tack emission...)
Här kommer min kod som funkar fint... Mycket är hämtat från WF...
Jag postar den här så kan flera kanske använda sig av den...
Skål på er och trevlig helg!
Mvh
Henrik
<%
Dim intPageSize, intPage, intTotalPages, intCounter
intPageSize = 20 '## -- byt ut till hur många poster du vill ska visas per sida --
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
'## -- kontrollera så att inte intPage variabeln är tom --
If intPage = "" Then
intPage = 1 '## -- visa första sidan som default --
End If
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=XXX"
objConn.Open
strSQL = "SELECT * From tblTable"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.PageSize = intPageSize
objRS.Open strSQL, objConn, 3, 1
If objRS.EOF then
'Visa meddelande att det inte finns något att visa!
Else
'## -- visa rätt sida i recordsetet --
objRS.AbsolutePage = intPage
'## -- hur många sidor består recordsetet av --
intTotalPages = objRS.PageCount
do until objRS.EOF OR intCounter >= intPageSize
intCounter = intCounter + 1
'Visa data
objRS.MoveNext
Loop
'Anropa
Call PageNavigation(intPage, intTotalPages)
end if
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
Sub PageNavigation(ByVal Page, TotalPages)
Dim strScriptName, N
'## -- denna sidas namn --
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- länk till föregående sida --
'## -- kontrollera att det inte är första sidan som visas --
If CInt(Page) > 1 Then
'## -- inte första sidan som visas så gör en länk --
Response.Write "<A href=""" & strScriptName & "?page=" & Page - 1 & """><img src=""/images/Pages-back.gif"" border=""0"" Align=""AbsMiddle"" ALT=""Klicka för Föregående Sida""></A> "
Else
'## -- det är första sidan som ska visas. gör ingen länk
End If
'## -- bygg upp själva pagebaren, dvs varje sidnummer ska ha en länk
'## -- så att besökaren snabbt kan ta sig till rätt sida --
For N = 1 To CInt(TotalPages)
If N <> CInt(Page) Then
'## -- ej aktuell sida, länka --
Response.Write "<A href=""" & strScriptName & "?page=" & N & """>" & N & "</A> "
Else
'## -- aktuell sida, länka ej --
Response.Write "<B>" & N & "<B> "
End If
Next
'## -- länk till nästa sida. om vi står på sista sidan ska den ej vara länkad --
If CInt(Page) < CInt(TotalPages) Then
'## -- vi är inte på sista sidan --
Response.Write "<A href=""" & strScriptName & "?page=" & Page + 1 & """>"
Response.Write "<img src=""/images/Pages-forward.gif"" border=""0"" Align=""AbsMiddle"" ALT=""Klicka för Nästa Sida""></A>"
Else
'## -- vi är på sista sidan. länka ej --
End If
End Sub
%>