USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  ASP - Active Server Page
Voltar
Autor Assunto:  Dividir resultado em páginas.
Alea
não registrado
Postada em 05/08/2004 09:28 hs   
Olá pessoal como faço para distribuir os meus resultados em várias páginas tipo site de busca.

Por exemplo quero 10 resultados por páginas e que depois fique lá no rodapé da página o nº de páginas que tenho com os outros resultados.

ex- 1-2-3-4

Valeu.
     
vilmarbr
Pontos: 2843
SAO PAULO
SP - BRASIL
Postada em 05/08/2004 12:28 hs         
oi, terás que usar paginação, veja este exemplo e adapte ao seu caso:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Option Explicit   'força declaração de variável, TEM QUE SER A 1ª DECLARAÇÃO APÓS A DIRETIVA @LANGUAGE.......
Response.Expires = -1   'evita cache no servidor, mostra a versão mais atual da página.
%>
<html>
<head>
 <title>Exemplo de P&aacute;gina&ccedil;&atilde;o</title>
</head>
<!--#include file="includes/adovbs.inc" -->
<!--#include file="conn_dbAT.asp" -->
<body>
<%
'Variáveis de páginação
Dim iPageSize       'Define quão grande será cada página
Dim iPageCount      'O nº de páginas para se movimentar pelo recordset
Dim iPageCurrent    'A página corrente(atual)
Dim strSQL          'String SQL a ser executada
Dim Rs     'Objeto de recordset
Dim iRecordsShown   'Controlador de loop p/ mostrar exatamente os registros de cada tamanho de página(iPageSize)
Dim I               'Usada no loop dos laços for
Dim Mostrado        'Registro mostrado na tela
'»»Parâmetros passados para paginação
iPageSize = 10 'Aqui pode-se aumentar ou diminuir o nº de registros por página.
'Recupera página p/ apresentar ou seta como default 1 a página atual
If Request.QueryString("PaginaMostrada") = "" Then
 iPageCurrent = 1
Else
 iPageCurrent = CInt(Request.QueryString("PaginaMostrada"))
End If
'»»Parâmetros passados para paginação
'SE FOREM USADOS PARÂMETROS NA CONSULTA SQL, SERÁ PRECISO PASSÁ-LOS NA URL
strSQL = "Select AtContato from HT_DBAU001_DAtend WHERE AtCod = 5000 ORDER BY AtDtAtend"
'Response.Write "<b>strSQL</b>:<br>" &  strSQL & "<BR>"
'Response.End()
Set Rs = Server.CreateObject("adodb.recordset") '»»É preciso declarar o recordset dessa forma qdo. usa-se RS.Open
Rs.CursorLocation = adUseClient
Rs.CursorType = adOpenForwardOnly  'tipo do cursor
Rs.LockType = adLockOptimistic  'tipo de bloqueio do cursor
Rs.CacheSize = iPageSize
Rs.PageSize = iPageSize
Rs.Open strSQL,Conexao '»»Abre-se o recordset desta forma qdo. precisa de usar seus vários métodos e propridades
'Contador de páginas
iPageCount = Rs.PageCount
'Se houver mais páginas a serem exibidas, a pág. corrente será = ao contador de pág.
If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
'Se não houver mais páginas a serem exibidas, a página corrente será 1
If iPageCurrent < 1 Then iPageCurrent = 1
'Verifique a contagem da página para impedir bombardear quando os resultados zero são retornados!
If iPageCount > 0 Then
 ' Move para página selecionada.
 Rs.AbsolutePage = iPageCurrent
'Inicia saída com uma Página X de N linha
%>
 <p>
 <font size="3">Página <strong><%= iPageCurrent %></strong>
 de <strong><%= iPageCount %></strong></font>
 </p>
<%
 'Loop através dos registros e saída 1 linha por registro
 iRecordsShown = 0
 Do While iRecordsShown < iPageSize And Not Rs.EOF
  Mostrado = Rs("AtContato") & ""
  Mostrado = Replace(Mostrado,Chr(0),"")
  Response.Write "<b>Nome:</b>&nbsp;" & Mostrado & "<br>"
  iRecordsShown = iRecordsShown + 1 '»»Incrementa o nº de registros apresentados
  Rs.MoveNext '»»Não esquecer de mover p/ próximo registro!
 Loop
End If
Response.Write "<br><br>"
'»»INÍCIO: Mostrar links anterior e próxima e nºs de página.
If iPageCurrent > 1 Then '»»Mostra link p/ pág. anterior.
%>
 <a href="exemp_paginacao.asp?PaginaMostrada=<%= iPageCurrent - 1 %>">[&lt;&lt; Anterior]</a>
<%
End If
'»»INÍCIO: Apresentar nº de páginas.
For I = 1 To iPageCount
'Só montará link c/ o Nº da pág. se não for a pág. corrente
 If I = iPageCurrent Then
  Response.Write "<strong>" & I & "</strong>"
 Else
 %>
  <a href="exemp_paginacao.asp?PaginaMostrada=<%=I%>"><%=I%></a>
 <%
 End If
Next
'»»FIM: Apresentar nº de páginas.
If iPageCurrent < iPageCount Then '»»Mostra link p/ pág. posterior.
%>
 <a href="exemp_paginacao.asp?PaginaMostrada=<%=iPageCurrent + 1%>">[Próxima &gt;&gt;]</a>
<%
End If
'»»FIM: Mostrar links anterior e próxima e nºs de página.
%>
</body>
</html>
------------
T+

http://www.vilmarbro.com.br
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página