webForumDet fria alternativet

paging...

4 svar · 533 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#1

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
#2

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
#3

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
#4

hehe... :)
Det var ju ett försök i a f...

//Henrik

devotionMedlem sedan jan. 20013 582 inlägg
#5

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
%>
134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)