Ir para conteúdo
Fórum Script Brasil
  • 0

Paginação


Leonardo Rocha

Pergunta

Olá amigos,

Fiz algumas adaptações com um código de paginação e consulta de dados.

Colocando só a paginação ficou excelente, mas quando coloco a consulta a paginação não traz a próxima página.

Gostaria que alguém me ajudasse.

Vou postar o código completo:

<%
Dim strURL, cnnSearch, rstSearch, strDBPath, strSQL, strSearch, intContador, Conn, rs
'Função que tira todos os acentos das palavras
function TiraAcento(StrAcento)
 for i = 1 to len(StrAcento) 
  Letra = mid(StrAcento, i, 1)
  Select Case Letra
   Case "á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"
   Letra = "A"
   Case "é","É","ê","Ê","Ë","ë","È","è"
   Letra = "E"
   Case "í","Í","ï","Ï","Ì","ì"
   Letra = "I"
   Case "ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"
   Letra = "O"
   Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"
   Letra = "U"
   Case "ç","Ç"
   Letra = "C"
   Case "não"
   Letra = "N"
  End Select
  texto = texto & Letra
 next
 TiraAcento = texto
end function 
strURL = Request.ServerVariables("URL")
strSearch = Request.QueryString("search")

%>
<style>
.TProdutos{border: 1px solid White;margin: 0px 0px 2px 0px;background: #ecffec; border-collapse:collapse; width: 80%; font: 9pt Verdana, Arial;}
.TProdutos td {border: 0px solid #ccffcc;border-collapse:collapse;}
.TProdutos td#Titulo {border: 0px;font: 9pt Verdana, Arial, Helvetica;height: 4px; background:#006600; color:#FFFFFF;}
.TProdutos td#Dados {border: 0px;font: 7pt Verdana, Arial, Helvetica;height: 0px;background: #f9fff9; color: #003300;}
</style>
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
<br>
<br>
<tr>
    <td><strong><font face="'MS Sans Serif',Geneva,sans-serif" size="+1" color="#006a00">Consulta de Estabelecimentos</font></strong></font>
<form action="<%= strURL %>" method="get">
<div style="width:80%">
<b><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="2" color="#006a00">Nome do Establecimento ou Nº do Processo:</font></b>&nbsp;&nbsp; <font color="Lime"><input type="text" name="search" value="<%= strSearch %>" size="55"></font><input type="image" src="btbuscar.gif" align="absmiddle" >
<input type="image"  src="btlimpar.gif" onclick="java script:document.form.reset()" align="absmiddle">
</div></form>
<div align="center">
<form id="form" method="get" action="produto.asp">
<table border="0" cellpadding="0" cellspacing="0" width ="100%">
<tr>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="#ffffff">Estabelecimento </font></STRONG></FONT></th>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="#ffffff">Pedido </font></STRONG></FONT></th>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="#ffffff">Credenciamento
</font></STRONG></FONT></th>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="#ffffff">Situação </font></STRONG></FONT></th>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="Yellow">Produtos</font></STRONG></FONT></th>

<div align="right"><input type="image" src="btverificarproduto.gif"</div>
<br>
</tr>
<% 
'Efetuando a conexão com a base de dados criada -----------------------
If strSearch <> "" Then
Set Conn = Server.CreateObject("AdoDb.Connection") 
Conn.provider="Microsoft.Jet.OLEDB.4.0" 
Conn.connectionstring=Server.Mappath("dbvinhos.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 = 10 'quantidade de registros por página. Você pode alterar sem conforme precise.

'Vamos fazer a busca na tabela contatos
SQL = "SELECT * " _
        & "FROM estabelecimento " _
        & "WHERE Processo LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "OR nome LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
        & "ORDER BY nome;"
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 

%>
<tr>
    <td class="TProdutos">&nbsp;<% Response.Write(rs("nome")) %>&nbsp;</td>
    <td class="TProdutos">&nbsp;<% Response.Write(rs("Data_Pedido")) %>&nbsp;</td>
    <td class="TProdutos">&nbsp;<% Response.Write(rs("Data_Credenciamento")) %>&nbsp;</td>
    <td class="TProdutos">&nbsp;<% Response.Write(rs("situacao")) %>&nbsp;</td>
    <td class="TProdutos" align="center">&nbsp;<input type="radio" name="radio" value="<%=rs("cod_estabel")%>">&nbsp;</td>
</tr>
<%

   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 
%> 
   <%=strSearch%><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
%>
<% 
END IF
%>

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...