Faire un paging comme sur aspfr.com et vbfrance.com

Description

Il faut que vous ayez le fichier adovbs.inc qui est dans le zip.
Vous devez faire votre connexion à la base, puis mettez ce code dans votre page.
Modifié ce que vous avez à modifier genre MONCHAMP1, MONCHAMP2 etc...
et voilà, vous avez un paging comme dans les pages des catégories de ce site !

Source / Exemple :


<!--#include file="adovbs.inc"-->
<%
	Dim NumPageEnCours
	Dim TaillePage
	Dim MaxPages
	Dim MaxEnrgs
	Dim CombienDeRecs
	Dim MonObjRS
	
	NumPageEnCours = Request("quelpage")
	If NumPageEnCours = "" then NumPageEnCours = 1
	TaillePage = Request("taillepage")
	If  TaillePage = "" Then TaillePage = 16
	' Si vous souhaitez mettre vous même la taille maxi du nombre d'enregeistrement par page
	' mettez en commentaire les 2 lignes précédentes et mettez par ex : TaillePage = 16

	Set MonObjRS = Server.CreateObject("ADODB.Recordset")
	MonObjRS.cursorlocation = aduseclient
	MonObjRS.cachesize = 5

	MonObjRS.Open "VotreRequeteSQLIci", VotreConnexionAVotreBase

	MonObjRS.pagesize = TaillePage
	MaxPages = CInt(MonObjRS.pagecount)
	MaxEnrgs = CInt(MonObjRS.pagesize)
	If Not MonObjRS.EOF Then MonObjRS.absolutepage = NumPageEnCours
	CombienDeRecs = 0

	Do UNTIL MonObjRS.EOF OR CombienDeRecs >= MaxEnrgs
	
		'ICI Affichez Vos enregistrment dans cette boucle
		' Exemple :%>
		<%=MonObjRS("MONCHAMP1")%> <%=MonObjRS("MONCHAMP2")%><br>
		<%
		MonObjRS.MoveNext
		CombienDeRecs = CombienDeRecs + 1
	Loop
%>

<%Call PagingBar()%>

<%
Sub PagingBar()
    Dim StrHTML
    Dim PageEnCours
    Dim CompteurFin, CompteurDebut
    Dim i, LesVars
    
    If MaxPages <> 0 Then
        PageEnCours = Request.ServerVariables("script_name")
        Response.Write "<table rows=""1"" cols=""1"" width=""97%""><tr>"
        Response.Write "<td>"
        Response.Write "<font size=""2"" color=""#000000"" face=""Verdana, Arial,Helvetica, sans-serif"">"
        LesVars = ""
        For each Item In Request.Form
            If LCase(Item) <> "quelpage" And LCase(Item) <> "taillepage" Then
                LesVars = LesVars & "&" & LCase(Item) & "=" & server.URLencode(Request.Form(Item))
            End If
        Next
        For each Item In Request.QueryString
            If LCase(Item) <> "quelpage" And LCase(Item) <> "taillepage" Then
                LesVars = LesVars & "&" & LCase(Item) & "=" & server.URLencode(Request.QueryString(Item))
            End If
        Next
        If (NumPageEnCours mod 10) = 0 Then
            CompteurDebut = PageEnCours - 9
        Else
            CompteurDebut = NumPageEnCours - (NumPageEnCours mod 10) + 1
        End If

        CompteurFin = CompteurDebut + 9
        If CompteurFin > MaxPages Then CompteurFin = MaxPages
        If CompteurDebut <> 1 Then
            StrHTML = "<a href=""" & PageEnCours
            StrHTML = StrHTML & "?quelpage=" & 1
            StrHTML = StrHTML & "&taillepage=" & TaillePage
            StrHTML = StrHTML & LesVars
            StrHTML = StrHTML & """>Première page</a> : "
            Response.Write StrHTML
            StrHTML = "<a href=""" & PageEnCours
            StrHTML = StrHTML & "?quelpage=" & (CompteurDebut - 1)
            StrHTML = StrHTML & "&taillepage=" & TaillePage
            StrHTML = StrHTML & LesVars
            StrHTML = StrHTML & """>10 pages Précédente</a> <br>"
            Response.Write StrHTML
        End If
        Response.Write "["
        
        For i = CompteurDebut To CompteurFin
            If cstr(i) <> Cstr(NumPageEnCours) Then
                StrHTML = "<a href=""" & PageEnCours
                StrHTML = StrHTML & "?quelpage=" & i
                StrHTML = StrHTML & "&taillepage=" & TaillePage
                StrHTML = StrHTML & LesVars
                StrHTML = StrHTML & """>Page " & i & "</a>"
            Else
                StrHTML = "<b>Page " & i & "</b>"
            End If
            Response.Write StrHTML

            If i <> CompteurFin Then Response.Write " "
        Next
        Response.Write "]"

        If CompteurFin <> MaxPages Then
            StrHTML = "<br><a href=""" & PageEnCours
            StrHTML = StrHTML & "?quelpage=" & (CompteurFin + 1)
            StrHTML = StrHTML & "&taillepage=" & TaillePage
            StrHTML = StrHTML & LesVars
            StrHTML = StrHTML & """>10 pages Suivantes</a>"
            Response.Write StrHTML
            StrHTML = " : <a href=""" & PageEnCours
            StrHTML = StrHTML & "?quelpage=" & MaxPages
            StrHTML = StrHTML & "&taillepage=" & TaillePage
            StrHTML = StrHTML & LesVars
            StrHTML = StrHTML & """>Dernière page</a>"
            Response.Write StrHTML
        End If
        Response.Write "<br></font>"
        Response.Write "</td>"
        Response.Write "</table>"
    End If
End Sub
%>

Conclusion :


Mais vous pouvez encore ajouter des paramètres, modeler comme vous voulez etc...
C'est presque le même paging que sur le site à quelques petits détails près :)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.