Función de paginación ASP, navegación de paginación
Autor:Eve Cole
Fecha de actualización:2009-06-26 18:09:37
código de programa
<%
'//Función de paginación
'//psize: Número de datos mostrados en cada página
'//pindex: número de página actual
'//tbName: nombre de la tabla
'//keyIndex: paginación según qué campo, generalmente un tipo de aumento automático (numeración automática de la base de datos de acceso)
'//dónde:condiciones de consulta
'//orden: condiciones de clasificación, el valor predeterminado es "ordenar por" &keyIndex &"desc"
'// El número total de registros y páginas totales se puede obtener directamente del conjunto de resultados devuelto. El campo recuento de datos almacena el número total de registros y el campo recuento de páginas almacena el número total de páginas.
pindex privado, recuento de datos, páginas
'recuento de datos = 0
'páginas = 1
función pública página de cambio (psize, tbName, keyIndex, donde, orden)
cadenadimsql
pindex = Recortar(Request.QueryString("página"))
si no es numérico (psize) o psize="" entonces psize=1'//El número de datos que se muestran en cada página
si no es numérico (pindex) o pindex="" entonces pindex=1'//Número de página actual
si orden="" entonces orden=" ordenar por "& keyIndex & "desc"
'//Obtener el número total de datos
'recuento de datos tenue, páginas
set rs=conn.execute("seleccione recuento (*) como recuento de datos de " & tbName & " donde 1=1 " & donde)
datacount = rs("datacount")'//Número total de registros
rs.cerrar
establecer rs = nada
'//Calcular el número total de páginas
si (conteo de datos mod psize) = 0 entonces
páginas=recuento de datos psize
demás
páginas=recuento de datos psize + 1
terminar si
'//
si cint(pindex)>páginas entonces pindex=páginas
'Empalmar cadena sql
si pindex<=1 entonces
sqlstring="seleccione arriba " & psize & " *," & datacount & " as datacount, " & páginas & " as pagecount from " &_
tbName & " donde 1=1 " & donde & " " & orden
demás
sqlstring="seleccione arriba " & psize & " *," & datacount & " as datacount, " & páginas & " as pagecount from " &_
tbName & " donde 1=1 y " & keyIndex & " no en (seleccione arriba " & (pindex-1)*psize & " " & keyIndex & " de " &_
tbName & " donde 1=1 " & donde & " " & pedido & ") " & donde & " " & pedido
terminar si
'Respuesta.Escribir(sqlstring)
establecer changePage=conn.execute(sqlstring)
función final
'//Navegación de página
'//fileName: nombre del archivo/página actual, puedes dejarlo en blanco
'// argString: parámetros de paginación como classid = 1 & tid = 16, no es necesario completar la página de parámetros necesaria para la paginación
'//pindex: número de página actual
'//datacount: número total de registros
'//páginas: número total de páginas
'//showMsg: si se muestra información de paginación, el parámetro es verdadero/falso
'//showText: si se muestra la navegación de la página de inicio, la página anterior, la página siguiente y la última página, los parámetros son verdadero/falso
'//showNumber: si se muestra la navegación de paginación digital, el parámetro es verdadero/falso
'enlace de página de función pública (nombre de archivo, cadena de argumento, índice de pin, recuento de datos, páginas, mostrar mensaje, mostrar texto, mostrar número)
enlace de página de función pública (nombre de archivo, cadena de argumento, mostrar mensaje, mostrar texto, mostrar número)
'//
si argString<>"" entonces argString = argString & "&"
si no showText y no showNumber entonces showText=true
'//
si muestra mensaje entonces
Respuesta.Escribir("[")
Response.Write("<span style='color:red;'>" & pindex & "</span> página")
Response.Write("/分<span style='color:red;'>" & páginas & "</span> páginas")
Response.Write("/Total<span style='color:red;'>" & datacount & "</span> registros")
Respuesta.Escribir("] ")
terminar si
'//
si mostrarTexto entonces
si pindex>1 entonces
Response.Write("<a href='" & fileName & "?" & argString & "page=1'>[Inicio]</a>")
Respuesta.Escribir(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex - 1 & "'>[Página anterior]</a>")
demás
Respuesta.Escribir("[Inicio]")
Respuesta.Escribir(" ")
Response.Write("[Página anterior]")
terminar si
Respuesta.Escribir(" ")
si pindex <páginas entonces
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex + 1 & "'>[página siguiente]</a>")
Respuesta.Escribir(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & páginas & "'>[última página]</a>")
demás
Response.Write("[página siguiente]")
Respuesta.Escribir(" ")
Response.Write("[última página]")
terminar si
terminar si
'//
si muestra el número entonces
Respuesta.Escribir(" ")
para i = 4 a 1 paso -1
si (pindex - i)>0 entonces
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex - i & "'>" & pindex - i & "</a>")
Respuesta.Escribir(" ")
terminar si
próximo
'//
Response.Write("<span style='color:red;'>" & pindex & "</span>")
'//
para i = 1 a 4
si (pindex + i)<=páginas entonces
Respuesta.Escribir(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex + i & "'>" & pindex + i & "</a>")
terminar si
próximo
'//
terminar si
'//
función final
%>