<%
'################## paginacao 01 #####################
'Coloca o Nº página atual / Nº Total de páginas
Response.Write("<B><font color=""#006600"" size=""2"" face=""Arial""><strong> Página " & PagAtual & " de " & TotalPages & " </strong></font></B> - ")
'Mostra os botões: Anterior e Próxima, utilizando da opção de IF
IF PagAtual > 1 THEN
'Se for a primeira página, Mostra apenas o botão Próximo e Ultima
Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & 1 & "'>")
Response.Write("Primeira")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & PagAtual - 1 & "'>")
Response.Write("Anterior")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & PagAtual - 1 & "'>")
Response.Write("Anterior")
Response.Write("</a></font></B> ")
Else
Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">")
Response.Write("Primeira")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("Anterior")
Response.Write("</font></B> ")
End If
'------------------- numero -------------------------
'---------- Numero de numeros para ser mostrados ----
max_n_mostrados = 9
intervalo = Int(max_n_mostrados /2)
inicio = PagAtual - intervalo
final = PagAtual + intervalo
If CInt(inicio) <1 Then
inicio = 1
final = 10
END IF
If CInt(final) > CInt(TotalPages) Then final = TotalPages
For i = inicio To final
If CInt(i)=CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""1"" face=""Arial"">[ <B>" & i & "</B> <font color=""#660066"">]</font> "
END IF
If CInt(i) < CInt(PagAtual) Then
Response.Write "<a href='jogos.asp?PagAtual=" & i & "'>" & i & "</a> "
END IF
If CInt(i) > CInt(PagAtual) Then
Response.Write "<a href='jogos.asp?PagAtual=" & i & "'>" & i & "</a> "
END IF
Next
'------------------------------------------------------
IF CInt(PagAtual) <> CInt(TotalPages) THEN
'Se estiver na última página, mostra apenas o botão Anterior e Primeira
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & PagAtual + 1 & "'>")
Response.Write("Próxima")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & TotalPages & "'>")
Response.Write("Ultima")
Response.Write("</a></font></B> ")
Else
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("Próxima")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">")
Response.Write("Ultima")
Response.Write("</font></B> ")
End If
'################## fim paginacao 01 ########################
PAGINAÇÃO 02
'################## paginacao 02 ########################
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'@@@@@@@ ALEX TEIXEIRA - alexct@hotmail.com @@@@@@
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
'Coloca o Nº página atual / Nº Total de páginas
Response.Write("<B><font color=""#006600"" size=""2"" face=""Arial""><strong> Página " & PagAtual & " de " & TotalPages & " </strong></font></B> - ")
'Mostra os botões: Anterior e Próximo, utilizando da opção de IF
'----------- Numeros - Calculos ---------------------------------------------
var01 = Len(PagAtual) 'Lê o tamanho do numero
var02 = var01 - 1 'subtrai um da variavel , retirando o digito menos sig.
var03 = Left(PagAtual,var02) 'obtem os digitos mais sig. do numero
var04 = Right(PagAtual,1) 'obtem o digito menos sig. do numero
var05 = var03 & 0 ' Acrecenta ZERO no final
IF var04 <> 0 THEN ' condição se o digito menos sig. é Zero
inicial = var05 + 1
final = inicial + 9
ELSE
inicial = var05 - 9
final = var05
END IF
indice_i = var04 - 1 'ultimo digito - 1
indice_f = 10 - var04 ' 10 - digito menos sig.
' If CInt(inicial) < 1 Then inicial = 1
If CInt(final) > CInt(TotalPages) Then final = TotalPages
'------------------------------------------------------------------------------
IF PagAtual > 1 THEN
'Se for a primeira página, Mostra apenas o botão Próximo e Ultima
Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & 1 & "'>")
Response.Write("Primeira")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & PagAtual - 1 & "'>")
Response.Write("Anterior")
Response.Write("</a></font></B> ")
IF PagAtual > 10 THEN
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & inicial - 1 & "'>")
Response.Write("...")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("....")
Response.Write("</font></B> ")
END IF
Else
Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">")
Response.Write("Primeira")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("Anterior")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
End If
'---------------------- NUMEROS ---------------------------
For i = inicial To final
If CInt(i)=CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""1"" face=""Arial"">[ <B>" & i & "</B> <font color=""#660066"">]</font> "
END IF
If CInt(i) < CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""1"" face=""Arial""><a href='jogos.asp?PagAtual=" & i & "'>" & i & "</a></font> "
END IF
If CInt(i) > CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""1"" face=""Arial""><a href='jogos.asp?PagAtual=" & i & "'>" & i & "</a></font> "
END IF
Next
'------------------------------------------------------
IF CInt(PagAtual) <> CInt(TotalPages) THEN
'##### CONDIÇÕES ########
'digitos mais significativos do Numero com 1 no fim > PagAtual
EX: 21 [ 22 ] 23 24 25 2 com 1 => 21 > 22 (F)
'OU
'PagAtual <= 10 E TotalPages > 10
'EX: ... 1 2 3 4 [ 5 ] 6 ... 5 <= 10 (V) E 6 > 10 (F)
IF (p1 > PagAtual) or ((PagAtual <= 10) and (TotalPages > 10)) THEN
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & final + 1 & "'>")
Response.Write("...")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
END IF
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & PagAtual + 1 & "'>")
Response.Write("Próxima")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">")
Response.Write("<a href='jogos.asp?PagAtual=" & TotalPages & "'>")
Response.Write("Ultima")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("Próxima")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">")
Response.Write("Ultima")
Response.Write("</font></B> ")
End If
'################## fim paginacao 02 #######################
Rs.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
%>
Pergunta
AlexCT
Já que ninguém postou uma resposta para mim
Eu editei este post para colocar como eu consegui fazer
tem dois Tipos
Paginação 01
a paginação que deixa sempre a pagina atual centralizada
primeira Anterior 1 2 3 4 [ 5 ] 6 7 8 9 10 Proxima ultima
primeira Anterior 21 22 23 24 [ 25 ] 26 27 28 29 Proxima ultima
---------------------------------------
Paginação 02
Que não fica centralizado , deixando como esta mesmo clicando nas paginas
primeira Anterior ... 1 [ 2 ] 3 4 5 6 7 8 9 10 ... Proxima ultima
primeira Anterior ... 1 2 [ 3 ] 4 5 6 7 8 9 10 ... Proxima ultima
e ao clicar nos 3 pontinhos
primeira Anterior ... [ 11 ] 12 13 14 15 16 17 18 19 20 ... Proxima ultima
Postei a paginação completa, Esta funcionando perfeirtamente.
Pois estou usando.
<%
PagAtual = Request.QueryString("PagAtual") 'página atual
Set Conn= server.createobject("adodb.connection")
DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("../database/db_jogo.mdb")
Conn.Open DSNtest
Set RS= Server.CreateObject("ADODB.Recordset") 'acrescentei por causa da paginação
SQL = "SELECT * FROM jogos WHERE permissao='0' ORDER BY id ASC"
RS.Open SQL, conn, 3
'############## paginacao Introdução #################
'------- Coloque aqui a quantidade de registros que você deseja por página --------
SELECT CASE np
CASE "1" NumPorPage = "1"
CASE "15" NumPorPage = "15"
CASE ELSE NumPorPage = "5"
END SELECT
'Const NumPorPage = 20
'Verifica qual a página solicitada
Dim PagAtual
IF Request.QueryString("PagAtual") = "" Then
PagAtual = 1 'Primeira página
Else
PagAtual = Request.QueryString("PagAtual")
End If
'Cria conexão com o Banco de Dados, já abrir anteriormente
'Criado anteriormente Set RS = Server.CreateObject("ADODB.Recordset")
'>>> FIZ EM CIMA RS.CursorLocation = 3 Acerta a posição do cursor . 3 ou adUseClient
RS.CacheSize = NumPorPage 'Define o tamanho do Cache = para o número de registros
'Cria a String SQL
'>>> FIZ EM CIMA Dim SQLpag
'>>> FIZ EM CIMA SQLpag = "SELECT * FROM jogos"
'>>> FIZ EM CIMA RS.Open SQLpag, Conn Abre o RecordSet
RS.MoveFirst 'Move o RecorSet para o início
RS.PageSize = NumPorPage 'Coloca a quantidade de páginas
Dim TotalPages 'Pega o número total de páginas
TotalPages = RS.PageCount
RS.AbsolutePage = PagAtual 'Configura a página atual
'############## paginacao Introdução - FIM #################
Count = 0 'Zera o contador
'Inicia a Função DO, utilizando a quantidade de páginas especificadas
'Ou seja ele irá executar a ação até que o valor Count seja menor que "20" como está no nosso exemplo
i = 0
DO WHILE NOT RS.EOF And Count < RS.PageSize 'paginacao And Count < RS.PageSize
' ----- linhas coloridas -------
if i mod 2<>0 then
cor = "#F4F4F4"
else
cor = "#e1e1e1"
end if
'-------------------------------
%>
PAGINAÇÃO 01 PAGINAÇÃO 02Link para o comentário
Compartilhar em outros sites
19 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.