Hoje vou mostrar como fazer uma paginação super simples, com 34 linhas de código, sendo 27 de ASP.
Primeiro vamos criar um banco de dados com o nome: bd.mdb (pode ser outro nome, mas terá que mudar o codigo)
neste banco de dados iremos criar uma tabela chamada teste (também pode ser outro nome, mas terá que mudar o codigo)
nesta tabela irá conter os campos
id - AutoNumeração
Nome - Texto
então você preenche com 6 há 16 dados..
Bem agora vamos ao código:
<html> <head> <title>Paginação</title> </head> <body> <%caminho = server.MapPath("bd.mdb") set con = server.CreateObject("ADODB.Connection") con.open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & caminho pag = request.QueryString("p") if pag = "" then pag = 1 end if sql="select * from teste" set rs = server.CreateObject("ADODB.RecordSet") rs.pagesize = 5 rs.open sql, con, 3, 3 rs.absolutepage = pag contador = 0 while not rs.eof and contador < rs.pagesize contador = contador +1 response.Write(rs("nome")&"<br>") rs.movenext wend For i = 1 To rs.PageCount If i = cint(pag) Then Response.Write i Else Response.Write "<a href='" & request.servervariables("script_name") &"?p=" & i & "'>" & i & "</a> " End If Next rs.close Set rs = nothing%> </body> </html>
explicando o código:
CONEXAO
'aqui eu mostro onde se encontra meu banco de dados caminho = server.MapPath("bd.mdb") 'Aqui falo que é uma conexao com o bd set con = server.CreateObject("ADODB.Connection") 'aqui abro a conexão con.open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & caminho
PÁGINA ATUAL
'aqui falo que a variavel pag é uma querystring "p" pag = request.QueryString("p") 'aqui falo que se não existir nenhum valor para pag, ela então vale 1 if pag = "" then pag = 1 end if
OS DADOS
'aqui seleciono tudo (*) da tabela teste sql="select * from teste" set rs = server.CreateObject("ADODB.RecordSet") 'aqui mostro a quantidade de registros por pagina rs.pagesize = 5 'aqui seleciono tudo (*) da tabela teste, com o conexao "con" rs.open sql, con, 3, 3 'aqui falo a pagina atual rs.absolutepage = pag 'declaro que a variavel "contador" é igual a 0 contador = 0
MOSTRANDO DADOS
'enquanto não for o fim dos dados (rs) e while not rs.eof and contador < rs.pagesize 'falo que a variavel contador é igual a ela mesma+1 contador = contador +1 'aqui ele escreve no documento o valor nome da tabela teste do banco de dados response.Write(rs("nome")&"<br>") 'aqui ele vai para o próximo registro rs.movenext 'aqui finaliza o "while" wend
A PÁGINAÇÃO
For i = 1 To rs.PageCount 'se a variavel "i" for igual a variavel "pag" ele não trnsforma em um link If i = cint(pag) Then Response.Write i 'caso contrário Else 'escreve o nome da página com a querystring "p" Response.Write "<a href='" & request.servervariables("script_name") &"?p=" & i & "'>" & i & "</a> " 'finaliza o if End If 'próximo numero de pagina (quaso exista) Next 'fecho a conexão rs.close Set rs = nothing
testei aqui e funcinou...
espero ter ajudado vocês...
até mais!
--------------------------------------------------------
Para uma maior organização desta seção, todas as duvidas relacionadas a este tutorial devem ser tiradas na seguinte sala:-
http://forum.wmonlin...p?showforum=113
Edição feita por: Agente Linhares, 05/07/2005, 14:45.