Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcus Gemeos

Alguém sabe acrescentar as reticencias "..."

Recommended Posts

Olá amigos,

 

Como faço para acrescentar as reticencias "..." no sistema de paginação no código abaixo?

O código abaixo está completinho e perfeito, ajustei bem ele... mas só falta esse detalhe! E não consigo fazer!!! tentei de tudo!!!

 

Obrigado!!!

 

Marcus

 

<%'Efetuando a conexão com a base de dados criada -----------------------Set Conn = Server.CreateObject("AdoDb.Connection") Conn.provider="Microsoft.Jet.OLEDB.4.0" Conn.connectionstring=Server.Mappath("../paginacao/clientes.mdb")Conn.open '--------------------------------------------------------------------------'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,'pois vamos utilizar algumas funções deste objeto Set RS = Server.CreateObject("adodb.recordset")RS.PageSize = 5 'quantidade de registros por página. Você pode alterar sem conforme precise.'Vamos fazer a busca na tabela contatosSQL = "select * from contatos" RS.Open SQL,Conn,3,3'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 'que zero, se é maior que o número total de páginas, etc.IF RS.EOF then    Response.Write "nenhum registro encontrado"   Response.End 'paramos o programaELSE   'Definindo em qual pagina o visitante está   IF Request.QueryString("pagina")="" then 	  intpagina=1    ELSE	  IF cint(Request.QueryString("pagina"))<1 then		 intpagina=1 	  ELSE		 IF cint(Request.QueryString("pagina"))> RS.PageCount then 			intpagina=RS.PageCount 		 ELSE			intpagina=Request.QueryString("pagina")		 END IF	  END IF   END IFEND IF'Fim das verificações de exceções'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta RS.AbsolutePage=intpagina' Inicia o contador que vai controlar os registros mostradosintrec=0'Enquanto o contador for menor que a quantidade de registros mostrados ou' não for o final do arquivo While intrec < RS.PageSize and not RS.EOF '------------------- AQUI VEM TUDO O QUE SERÁ PAGINADO -----------------------   response.write RS("nome") & " - " & RS("telefone") & " - " & RS("email") & "<BR>"'---------------------------------------------------------------------------------------------   RS.MoveNext   ' Acrescenta +1 ao contador   intrec=intrec+1    'Se for EOF (fim de arquivo), imprimir branco na tela   IF RS.EOF then 	  response.write " "    END IFWend 'fim do loop  'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. IF intpagina > 1 then 'AND intpagina <> 2 Then%><align="center"><font color="#FFFFFF" size="2" face="Verdana"><span style="background-color: #808080"> <a href="paginacao.asp?pagina=<%=intpagina - 1%>"><font color="#FFFFFF"><b>Anterior</b></font></a> </span><% END IF%><%For i = 1 to rs.PageCount%><align="center"><font color="#FFFFFF" size="2" face="Verdana"><span style="background-color: #808080"> <a href="paginacao.asp?pagina=<%=i%>"><font color="#FFFFFF"><b><%=i%></b></font></a> </span><% Next%><%'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página IF strcomp(intpagina,rs.PageCount) <> 0 then %> <align="center"><font color="#FFFFFF" size="2" face="Verdana"><span style="background-color: #808080"> <a href="paginacao.asp?pagina=<%=intpagina + 1%>"><font color="#FFFFFF"><b>Próxima</b></font></a> </span></font></font></font><% END IF%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

como está aparecendo as paginas ???da 1 ate a ultima sempre??

Compartilhar este post


Link para o post
Compartilhar em outros sites

lógica:- conta quantas paginas deu.. por exemplo: 100- é maior que o limite que quero aparecer: por exemplo, 10 número de pagina?- sim- pega os 5 primeiros... 1,2,3,4,5, coloca as reticências... e depois faz a conta... total menos qual é o meu limite de aparição (10) mais os 5 que ja peguei... vai dar: (100 - 10)+5 + 1 = 96- exibe da pagina 96 até a ultima (100)este é o primeiro passo....após isso, você tem q começar a trabalhar com a página atual que você está... seguindo a mesma lógica... mas ao invés de pegar os 5 primeiros... vai pegar os 5 antes da que você está... entra no google, entenda a lógica e aplique no seu código... sem segredos, beleza;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

PerfeitoMASSSSSSSSSSSSS eu recomendo, colocar talvez um select, com todas as páginas, para o cara pular para que ele quer, por exemplo, imagina que tem 200 página, estou na 200 e quero ir na 100, vou ter que ficar voltando ou fazer gambiarra na URL ;PAcessibilidade e Navegabilidade ;P

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu achei mt complicado pois nunca fui bom em matematica... pensa... huahuau...mas como o amigo ska falou isso eh mais logica... entaum veja se assim funciona:

 

 

Substitui

<%For i = 1 to rs.PageCount%><align="center"><font color="#FFFFFF" size="2" face="Verdana"><span style="background-color: #808080"> <a href="paginacao.asp?pagina=<%=i%>"><font color="#FFFFFF"><b><%=i%></b></font></a> </span><% Next%>

por isso:

Dim Total, PagAtual, TotalPag, RestantesTotalPag = 10Total = rs.PageCountPagAtual = RS.AbsolutePageRestantes = Total - PagAtualIf CInt(PagAtual) >= 5 ThenResponse.Write "<a href=""paginacao.asp?pagina=1"">1</a> ... "ElsePagAtual = 1End IfIf CInt(Restantes) <= CInt(TotalPag) ThenTotalPag = RestantesElseTotalPag = PagAtual  + 10End IfFor i = PagAtual  to TotalPag%><a href="paginacao.asp?pagina=<%=i%>"><%=i%></a><% NextIf CInt(TotalPag) < Total ThenResponse.Write " ... <a href=""paginacao.asp?pagina=" & Total & """>" & Total & "</a>"End If%>

eu naum testei esse codigo entaum naum garanto que funcione... se der erro... poste pra gente

 

ah ... talvez vai ter uns bugs com paginações com menos de 10 paginas...

 

ateh

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo,Tentei mas não houve resultados... e eu tb não sou muito bem em matematica! :(Nem precisa ser reticencias... ao menos que não fique milhões de números exibidos na paginação!Obrigado!Marcus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo,Você não sabe o favor que está me fazendo... eu em comandos SQL só bonzinho mas essas coisas assim, não sei... eu puxo da memória guando sai, não tem um resultado satisfatório! Queria tanto aprender essas lógicas! :( Obrigado mesmo amigo!Marcus

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.