Função de paginação ASP, navegação de paginação
Autor:Eve Cole
Data da Última Atualização:2009-06-26 18:09:37
código do programa
<%
'//Função de paginação
'//psize: Número de dados exibidos em cada página
'//pindex: número da página atual
'//tbName: nome da tabela
'//keyIndex: paginação de acordo com qual campo, geralmente um tipo auto-crescente (numeração automática do banco de dados de acesso)
'//onde:condições de consulta
'//order: condições de classificação, o padrão é "order by " &keyIndex &" desc"
'//O número total de registros e o total de páginas podem ser obtidos diretamente do conjunto de resultados retornado. O campo datacount armazena o número total de registros e o campo pagecount armazena o número total de páginas.
pindex privado, contagem de dados, páginas
'contagem de dados = 0
'páginas = 1
função pública changePage(psize,tbName,keyIndex,where,order)
dimsqlstring
pindex = Trim(Request.QueryString("página"))
se não for isnumeric(psize) ou psize="" então psize=1'//O número de dados exibidos em cada página
se não for isnumeric(pindex) ou pindex="" then pindex=1'//Número da página atual
if order="" then order=" ordenar por " & keyIndex & "desc"
'//Obtém o número total de dados
'dim contagem de dados, páginas
set rs = conn.execute ("selecione contagem (*) como contagem de dados de" & tbName & "onde 1 = 1" & onde)
datacount = rs("datacount")'//Número total de registros
rs.fechar
definir rs = nada
'//Calcula o número total de páginas
if (datacount mod psize) = 0 então
páginas = contagem de dados psize
outro
páginas = contagem de dados psize + 1
terminar se
'//
se cint(pindex)>páginas então pindex=páginas
'Juntar string sql
se pindex<=1 então
sqlstring="select top " & psize & " *," & datacount & " como datacount," & pages & " como pagecount de " &_
tbNome & "onde 1=1" & onde & " " & ordem
outro
sqlstring="select top " & psize & " *," & datacount & " como datacount," & pages & " como pagecount de " &_
tbName & "onde 1=1 e" & keyIndex & " não está em(selecione top " & (pindex-1)*psize & " " & keyIndex & " de " &_
tbNome & "onde 1=1 " & onde & " " & pedido & ") " & onde & " " & pedido
terminar se
'Resposta.Write(sqlstring)
definir changePage = conn.execute (sqlstring)
função final
'//Navegação na página
'//fileName: nome do arquivo/página atual, você pode deixar em branco
'//argString: parâmetros de paginação como classid=1&tid=16, a página de parâmetros necessária para paginação não precisa ser preenchida
'//pindex: número da página atual
'//datacount: número total de registros
'//páginas: número total de páginas
'//showMsg: Se deseja exibir informações de paginação, o parâmetro é verdadeiro/falso
'//showText: Seja para exibir a navegação da página inicial, página anterior, próxima página e última página, os parâmetros são verdadeiros/falso
'//showNumber: Se deseja exibir a navegação de paginação digital, o parâmetro é verdadeiro/falso
'função pública pageLink(fileName,argString,pindex,datacount,pages,showMsg,showText,showNumber)
função pública pageLink(fileName,argString,showMsg,showText,showNumber)
'//
se argString<>"" então argString = argString & "&"
se não for showText e não showNumber então showText=true
'//
se showMsg então
Resposta.Write("[")
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;'>" & contagem de dados & "</span> registros")
Resposta.Write("] ")
terminar se
'//
se mostrarTexto então
se pindex>1 então
Response.Write("<a href='" & fileName & "?" & argString & "page=1'>[Home]</a>")
Resposta.Write(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex - 1 & "'>[Página anterior]</a>")
outro
Response.Write("[Home]")
Resposta.Write(" ")
Response.Write("[Página anterior]")
terminar se
Resposta.Write(" ")
se pindex<páginas então
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex + 1 & "'>[próxima página]</a>")
Resposta.Write(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & páginas & "'>[última página]</a>")
outro
Response.Write("[próxima página]")
Resposta.Write(" ")
Response.Write("[última página]")
terminar se
terminar se
'//
se mostrarNumber então
Resposta.Write(" ")
para i = 4 a 1 passo -1
se (pindex - i)>0 então
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex - i & "'>" & pindex - i & "</a>")
Resposta.Write(" ")
terminar se
próximo
'//
Response.Write("<span style='color:red;'>" & pindex & "</span>")
'//
para eu = 1 a 4
if (pindex + i)<=páginas então
Resposta.Write(" ")
Response.Write("<a href='" & fileName & "?" & argString & "page=" & pindex + i & "'>" & pindex + i & "</a>")
terminar se
próximo
'//
terminar se
'//
função final
%>