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

Paginação


Zek

Pergunta

Bom Pessoal estou criando este post porq não achei isso no forum, vou explicar meu problema:

Quando passo parametros para a busca, com clausula WHERE, LIKE, etc, ele traz na primeira página somente o conteudo que eu pedi na busca, e mostra a quantidade de paginas normalmente, tipo Pagina 1 de 3, (< 1 2 3 >), mas quando eu clico para ir para outra pagina, a pagina traz todos os dados do banco, sem ser o que eu pedi na busca, tipo: pagina 2 de 9 (< 1 2 3 4 5 6 7 8 9 >), sendo que a busca trazia somente 3 paginas.

Resumindo eu faço uma busca, na primeira página ele traz o que eu pedi normalmente, mas quando vou para outra pagina ele traz todo o conteudo do banco, alguém sabe como posso solucionar isso?

Muito obrigado.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Para passar o parametro para a pagina, jogue na URL exemplo:

<a href=sua_pagina.asp?pagina_atual=<%= pagina %>"><%= pagina %></a>

Ai quando voce clica no link, ele carrega junto a pagina que foi clicada. Tente adaptar isso e veja se resolve, caso não, poste seu codigo pra vermos

Link para o comentário
Compartilhar em outros sites

  • 0

Vou postar o código:

<%@LANGUAGE="VBSCRIPT"%>

<!-- #include file = "Conexao.asp" -->

<%
DIM objRs
DIM strQuery

DIM strLogin
DIM strTipo
DIM strLocal
DIM strData
DIM intContador
DIM ReturnAction

strLogin = Request("cboAdmin")
strTipo = Request("cboTipo")
strLocal = Request("cboLocal")
strData = Request("txtData")

CALL AbreConexao()

strQuery = "SELECT * FROM tbModificacao WHERE Login LIKE '%"& strLogin &"%' AND TipoMod LIKE '%"& strTipo &"%' AND Local LIKE '"& strLocal &"%' AND DataHora LIKE '%"& strData &"%' ORDER BY idModificacao"
Set objRs = Server.CreateObject("adodb.recordset")

objRs.Open strQuery,objConexao,3,3
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
body {
    background-image: url(imgs/fundo4.jpg);
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
-->
</style>
<link href="estilos.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="5%" rowspan="3"> </td>
    <td width="95%" class="tituloPrincipal"> </td>
  </tr>
  <tr>
    <td class="tituloPrincipal">Resultado da Busca </td>
  </tr>
<%
IF NOT (objRs.EOF AND objRs.BOF) THEN

objRs.PageSize = 15

    IF Request.QueryString("pagina")="" THEN

        intpagina=1 
      
    ELSE
   
        IF cint(Request.QueryString("pagina")) < 1 THEN
      
            intpagina=1 
         
        ELSE
      
            IF cint(Request.QueryString("pagina")) > objRs.PageCount THEN 
         
                intpagina=objRs.PageCount 
            
            ELSE
         
                intpagina=Request.QueryString("pagina")
            
            END IF
         
        END IF
      
    END IF
    

objRs.AbsolutePage = intpagina
TotalPages = objRs.PageCount
%>
  <tr>
    <td align="center" valign="middle" class="tituloPrincipal"><TABLE width="100%" border="0" cellpadding="1" cellSpacing="2" borderColor="#f2f2f2">
      <TBODY>
        <TR>
          <TD width="18%" height="22" bgcolor="#D3DDE5" class="style5">Login</TD>
          <TD width="47%" bgcolor="#D3DDE5" class="style5">Modificação</TD>
          <TD width="15%" height="22" bgcolor="#D3DDE5" class="style5">Local</TD>
          <TD width="20%" height="22" bgcolor="#D3DDE5" class="style5">Data/Hora</TD>
        </TR>
        <TR>
<%
intrec=0
WHILE intrec < objRs.PageSize AND NOT objRs.EOF 
%>
          <TD height="22" bgcolor="#D3DDE5" class="cel01"><span class="style41">
            <%Response.write objRS("Login")%>
          </span></TD>
          <TD bgcolor="#D3DDE5" class="cel01"><span class="style41">
            <%Response.write objRS("Modificacao")%>
          </span></TD>
          <TD height="22" bgcolor="#D3DDE5" class="cel01"><span class="style41">
            <%Response.write objRS("Local")%>
          </span></TD>
          <TD height="22" bgcolor="#D3DDE5" class="cel01"><span class="style41">
            <%Response.write objRS("DataHora")%>
          </span></TD>
        </TR>
        <%
objRS.MoveNext
intrec=intrec+1 

WEND

CALL FechaConexao()
SET objRs = NOTHING
SET strQuery = NOTHING
%>
      </TBODY>
    </TABLE>
      <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="50%">
<span class="style5">Página <%=intpagina%> de <%=TotalPages%></span></td>
          <td width="50%" align="right">
<%
var01 = Len(intpagina)
var02 = var01 - 1
var03 = Left(intpagina,var02)
var04 = Right(intpagina,1)
var05 = var03 & 0

IF var04 <> 0 THEN

    inicial = var05 + 1
    final = inicial + 9  
    
ELSE

    inicial = var05 - 9  
    final = var05
    
END IF

indice_i = var04 - 1
indice_f = 10 - var04


     
If CInt(final) > CInt(TotalPages) THEN

    final = TotalPages

    IF intpagina > 1 THEN 

        Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">")
        Response.Write("<a href='RelatorioModificacao.asp?pagina=" & 1 & "'>")
        Response.Write("<<")
        Response.Write("</a></font></B> ")
          
        Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">") 
        Response.Write("<a href='RelatorioModificacao.asp?pagina=" & intpagina - 1 & "'>")
        Response.Write("<") 
        Response.Write("</a></font></B> ")
    

        IF intpagina > 10 THEN

            Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">") 
            Response.Write("<a href='RelatorioModificacao.asp?pagina=" & inicial - 1 & "'>")
            Response.Write("</a></font></B>  ")

        ELSE

            Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">") 
            Response.Write("</font></B>  ")

        END IF

    ELSE

        Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">") 
        Response.Write("<<") 
        Response.Write("</font></B> ")
        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("</font></B>")

    END IF

END IF

FOR i = inicial TO final

    IF CInt(i)=CInt(intpagina) THEN
    
    Response.Write "<font color=""#660066"" size=""1"" face=""Arial"">[ <B>" & i & "</B> <font color=""#660066""> ]</font>  "
    
    END IF     
     
    IF CInt(i) < CInt(intpagina) THEN
     
    Response.Write "<font color=""#660066"" size=""1"" face=""Arial""><a href='RelatorioModificacao.asp?pagina="& i &"'>"& i &"</a></font>  "
      
    END IF
     
    IF CInt(i) > CInt(intpagina) THEN
     
    Response.Write "<font color=""#660066"" size=""1"" face=""Arial""><a href='RelatorioModificacao.asp?pagina="& i &"'>"& i &"</a></font>  "
    
    END IF
  
NEXT


IF CInt(intpagina) <> CInt(TotalPages) THEN 

    IF (p1 > intpagina) or ((intpagina <= 10) and (TotalPages > 10)) THEN 

        Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
        Response.Write("<a href='RelatorioModificacao.asp?pagina=" & final + 1 & "'>")
        Response.Write("</a></font></B>  ")

    ELSE

       Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
       Response.Write("</font></B>  ")

   END IF

    Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
    Response.Write("<a href='RelatorioModificacao.asp?pagina=" & intpagina + 1 & "'>")
    Response.Write(">")
    Response.Write("</a></font></B>  ") 
    
    Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">")
    Response.Write("<a href='RelatorioModificacao.asp?pagina=" & TotalPages & "'>")
    Response.Write(">>")
    Response.Write("</a></font></B>  ")        

 ELSE

      Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
      Response.Write("</font></B>  ")

      Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
      Response.Write(">") 
      Response.Write("</font></B>  ")

      Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">")
      Response.Write(">>") 
      Response.Write("</font></B>  ")
      
END IF
%>
       </td>
        </tr>
      </table> 
      <br>
      
<%ELSE%>
<table width="50%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="22" align="center" valign="middle" class="style2"> </td>
  </tr>
  <tr>
    <td height="22" align="center" valign="middle" class="style2">Nenhum Registro Encontrado!</td>
  </tr>
</table></td>
  </tr>
</table>
<%END IF%>
</body>
</html>

Tentei adaptar mas não consegui, se alguém me ajudar eu agradeço...

Link para o comentário
Compartilhar em outros sites

  • 0

Então, é o que eu disse no começo, ele está paginando legal, mas tenho na pagina que chama esta uns campos para o usuario filtrar, vou dar um exemplo, essa página é um relatório de modificações no site, cada vez que um usuario faz uma inclusão , uma alteração ou uma exclusão, é gravado no banco, ai o usuario tem uns campos para filtrar a busca, tem o campo buscar por nome de login, se eu informar por exemplo "Fulano" ai a primeira pagina da pesquisa (esta que postei o código) tras somente os eventos ocorridos com o login "Fulano", e lista o resto das paginas em que o Login era "Fulano", mas quando vou para página 2, a pesquisa já trás todos os cadastros do banco, não somente o do "Fulano", tras também o do "Beltrano", "Siclano" e de quem mais estiver cadastrado, enfim a busca perde o foco, que seria trzer somente os dados do "Fulano", espero ter conseguido explicar dessa vez...

Obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...