<%
'################## 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
%>
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
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.