<%
'----------------------------------
' Script: Paginação Simples
' Autor: Régis Soares
' E-mail: regis_soares@hotmail.com
' ICQ: 161916543
'----------------------------------
' Definindo o caminho do banco de dados
caminho = "paginacao.mdb"
' Fazendo a conexão com o banco de dados (paginacao.mdb)
set conn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(caminho)
conn.Open DSN
' String SQL para consulta
SQL = "SELECT * FROM nomes ORDER BY nome"
' Abrindo o registro
SET RS = Server.CreateObject("ADODB.Recordset")
RS.Open SQL,conn,3
' Se não encontrar nada escreve a mensagem
' Senão lista os registros
If RS.EOF Then
Response.Write("Nenhum registro foi encontrado")
Else
' Definindo o número de registros por página
RS.PageSize = 2
' Recupera o valor da variável pagina
pagina = Request.QueryString("pagina")
' Se a variável pagina for vazio, indica que a página sera a primeira
' Senão a variável pagina recebe o valor da página corrente, definida acima
If pagina = "" Then
RS.AbsolutePage = 1
pagina = 1
Else
RS.AbsolutePage = pagina
End If
' Imprime o número de registros, o total de páginas e a página atual
Response.Write("<p align='center'>Foram encontrados <b>" & RS.RecordCount & "</b> registros" & vbcrlf )
Response.Write("<br>Mostrando página <b>" & pagina & "</b> de <b>" & RS.PageCount & "</b></p>" & vbcrlf )
While Not RS.EOF AND cont < RS.PageSize
Response.Write( rs("nome") & "<br>" & vbcrlf )
cont = cont + 1
RS.MoveNext
Wend
' Criando a barra de navegação
' Se a variável pagina for maior que 1 então imprime o botão Anterior com link
' Senão imprime sem link
If CInt(pagina) > 1 Then
Response.Write("<p align='center'><a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & pagina-1 & "'>Anterior</a> ")
Else
Response.Write("<p align='center'>Anterior")
End If
' Lista todas as páginas encontradas
For i = 1 To rs.PageCount
response.write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & i & "'>" & i & "</a> ")
Next
' Se a variável pagina for menor que o total de páginas então imprime o botão Próxima com link
' Senão imprime sem link
If CInt(pagina) < rs.PageCount Then
Response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & pagina+1 & "'>Próxima</a></p>")
Else
Response.Write("Próxima</p>")
End If
End If
' Fecha e destroi os objetos RS e conn
RS.Close : conn.Close
Set RS = Nothing : Set conn = Nothing
%>
0 comentários:
Postar um comentário