ASP-Paging-Funktion, Paging-Navigation
Autor:Eve Cole
Aktualisierungszeit:2009-06-26 18:09:37
Programmcode
<%
'//Paging-Funktion
'//psize: Anzahl der auf jeder Seite angezeigten Daten
'//pindex: aktuelle Seitennummer
'//tbName: Tabellenname
'//keyIndex: Paging nach welchem Feld, normalerweise ein sich selbst erhöhender Typ (automatische Nummerierung der Zugriffsdatenbank)
'//where:Abfragebedingungen
'//Reihenfolge: Sortierbedingungen, die Standardeinstellung ist „Reihenfolge nach „ &keyIndex &“ desc“
'//Die Gesamtzahl der Datensätze und die Gesamtzahl der Seiten können direkt aus der zurückgegebenen Ergebnismenge abgerufen werden. Das Feld datacount speichert die Gesamtzahl der Datensätze und das Feld pagecount speichert die Gesamtzahl der Seiten.
privater Pindex, Datenanzahl, Seiten
'Datenanzahl = 0
'Seiten = 1
öffentliche Funktion changePage(psize,tbName,keyIndex,where,order)
dimsqlstring
pindex = Trim(Request.QueryString("page"))
wenn nicht isnumeric(psize) oder psize="" then psize=1'//Die Anzahl der auf jeder Seite angezeigten Daten
Wenn nicht isnumeric(pindex) oder pindex="", dann pindex=1'//Aktuelle Seitennummer
if order="" then order=" order by " & keyIndex & " desc"
'//Die Gesamtzahl der Daten abrufen
'dim datacount,pages
set rs=conn.execute("select count(*) as datacount from " & tbName & " where 1=1 " & where)
datacount = rs("datacount")'//Gesamtzahl der Datensätze
rs.close
setze rs=nichts
'//Berechnen Sie die Gesamtzahl der Seiten
if (datacount mod psize)=0 dann
seiten=datacount psize
anders
seiten=datacount psize + 1
Ende wenn
'//
Wenn cint(pindex)>Seiten, dann pindex=Seiten
'SQL-String verbinden
wenn pindex<=1 dann
sqlstring="select top " & psize & " *," & datacount & " as datacount," & seiten & " as pagecount from " &_
tbName & " where 1=1 " & where & " " & order
anders
sqlstring="select top " & psize & " *," & datacount & " as datacount," & seiten & " as pagecount from " &_
tbName & " wobei 1=1 und " & keyIndex & " nicht in(select top " & (pindex-1)*psize & " " & keyIndex & " from " &_
tbName & " where 1=1 " & where & " " & order & ") " & where & " " & order
Ende wenn
'Response.Write(sqlstring)
set changePage=conn.execute(sqlstring)
Endfunktion
'//Seitennavigation
'//fileName: Dateiname/aktuelle Seite, Sie können es leer lassen
'//argString: Paging-Parameter wie classid=1&tid=16, die für das Paging erforderliche Parameterseite muss nicht ausgefüllt werden
'//pindex: aktuelle Seitennummer
'//datacount: Gesamtzahl der Datensätze
'//Seiten: Gesamtzahl der Seiten
'//showMsg: Ob Paging-Informationen angezeigt werden sollen, der Parameter ist wahr/falsch
'//showText: Ob die Navigation der Startseite, der vorherigen Seite, der nächsten Seite und der letzten Seite angezeigt werden soll, die Parameter sind wahr/falsch
'//showNumber: Ob die digitale Paging-Navigation angezeigt werden soll, der Parameter ist wahr/falsch
'öffentliche Funktion pageLink(fileName,argString,pindex,datacount,pages,showMsg,showText,showNumber)
öffentliche Funktion pageLink(fileName,argString,showMsg,showText,showNumber)
'//
if argString<>"" then argString = argString & "&"
Wenn nicht showText und nicht showNumber, dann ist showText=true
'//
wenn showMsg dann
Response.Write("[")
Response.Write("<span style='color:red;'>" & pindex & "</span> page")
Response.Write("/分<span style='color:red;'>" & seiten & "</span> seiten")
Response.Write("/Total<span style='color:red;'>" & datacount & "</span> Datensätze")
Response.Write("] ")
Ende wenn
'//
wenn showText dann
wenn pindex>1 dann
Response.Write("<a href='" & fileName & "?" & argString & "page=1'>[Home]</a>")
Response.Write(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex - 1 & "'>[Vorherige Seite]</a>")
anders
Response.Write("[Home]")
Response.Write(" ")
Response.Write("[Vorherige Seite]")
Ende wenn
Response.Write(" ")
wenn pindex<pages dann
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex + 1 & "'>[nächste Seite]</a>")
Response.Write(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & seiten & "'>[letzte Seite]</a>")
anders
Response.Write("[nächste Seite]")
Response.Write(" ")
Response.Write("[letzte Seite]")
Ende wenn
Ende wenn
'//
wenn showNumber dann
Response.Write(" ")
für i = 4 bis 1 Schritt -1
wenn (pindex - i)>0 dann
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex - i & "'>" & pindex - i & "</a>")
Response.Write(" ")
Ende wenn
nächste
'//
Response.Write("<span style='color:red;'>" & pindex & "</span>")
'//
für i = 1 bis 4
if (pindex + i)<=pages then
Response.Write(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex + i & "'>" & pindex + i & "</a>")
Ende wenn
nächste
'//
Ende wenn
'//
Endfunktion
%>