Jump to content


Photo

Paginação, Usuário Podendo Escolher A Página


  • Faça o login para participar
3 replies to this topic

#1 rafa-martin

rafa-martin

    24 Horas

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

Posted 22/01/2008, 14:38

eu queria saber como fazer aquela pagianação que além de ir para o próximo ou ultimo registros, o usuário pode digitar o número da página que ele quer ir. por exemplo digamos q numa listagem a paginação criada foi de 10. então ele clica em próximo, clia em próximo de novo. só que na terceira vez ele já ficou de saco cheio de ficar clicando em próximo porque até chegar a página 10 vai demorar muito, então ele digita o número 10 na caixa de texto e já vai para a página 10.

como eu faço isso?

#2 JurisCode

JurisCode

    Mestre

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Paraná

Posted 22/01/2008, 15:16

vou te dar um exemplo:

as páginas, em geral, usam querystrings. se vc quiser fazer via caixa de texto, beleza, mas tem paginações pre configuradas jah em que aparecem um monbte de links na parte de baixo com o número de cada página

<<primeira <Anterior |1|2|3|4|5|6| Próxima> Última >>

mas basta vc fazer um form assim:
<form method=get action=page.asp>
<input type=texte name=pagina>
</form>

olha um exemplo de paginação no meu site
http://www.ditados.c...=...de&pagina=2
se eu fizer um form assim:
<form method=get action=secao.asp>
<input type=hidden name=secao value=<%=request.querystring("secao")%>
<input type=text name=pagina>
</form>
vai dar certo.
nesse caso eu coloquei o request.querystring que é para se manter na mesca categoria.

Edição feita por: JurisCode, 22/01/2008, 15:26.


#3 rafa-martin

rafa-martin

    24 Horas

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

Posted 22/01/2008, 16:26

então kra tenho essa paginação e fiz o que vc disse mais não funfa:

<%
Set Conn = server.createobject("adodb.connection")
Conn.Open "Provider=sqloledb;Data Source=sbr001001-007\sqldev;Initial Catalog=Carga_Auxiliar;User Id=syscon;Password=syscon;"
%>

<form method=get action=paginacao.asp?pagina=<%=Request.QueryString("pagina")%>>
<input type=text name=pagina value=<%=request.querystring("pagina")%>>
<input type=text name=pagina_atual>
<input type=submit name="botao" value="ir">
<br>

<%
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 contatos
SQL = "select * from geral_cotacaomco"
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 programa
ELSE
'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 IF
END 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 mostrados
intrec=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 SEÁ PAGINADO -----------------------
response.write RS("cod_Companhia") & " - " & RS("cod_Cotacao") & " - " & RS("id_Servidor") & "<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 IF
Wend 'fim do loop

'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”.
IF intpagina > 1 then
%>
<a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior</a>
<%
END IF

'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
%>
<a href="paginacao.asp?pagina=<%=intpagina + 1%>">Próxima</a>
<%
END IF
%>
</form>

como ficaria?



comsegui fazer.

consegui fazer. coloquei a pagina atual

#4 JurisCode

JurisCode

    Mestre

  • Usuários
  • 645 posts
  • Sexo:Masculino
  • Localidade:Paraná

Posted 22/01/2008, 16:44

mas é exatamente essa paginação q estou usando.

como é o link que aparece quando vc vai para a página dois?




1 user(s) are reading this topic

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

IPB Skin By Virteq