Jump to content


Photo

Paginação


  • This topic is locked This topic is locked
Nenhuma resposta neste tópico

#1 koal40

koal40

    agora em PHP tbm

  • Usuários
  • 216 posts
  • Sexo:Não informado

Posted 05/07/2005, 14:35

Bom dia!
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&ccedil;&atilde;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.

Ultilize a busca antes de postar
e edite respostas não poste d novo...

(sempre q possivel claro)
------------ Conhecimento ----------
HTML ...... ||||||||||
JSP e JS .. ||||||||||
.NET ....... ||||||||||
ASP ........ ||||||||||
PHP ........ ||||||||||
Ourtos .... ||||||||||




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq