Ir para conteúdo

POWERED BY:

Arquivado

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

vivi@ne

não passa o valor pra proxima pagina

Recommended Posts

E aí pessoal beleza. Bom eu to com uma busca simples, mas que tá me dando a maior dor de cabeça...

 

Bom quando faz a paginação a primeira parte tá certinha, rola o filtro e as informações que devolve é perfeita, mas quando clico pra segunda página o resultado são todas as informações do bd. Eu sei que não tá passando o valor da variável pra segunda página. mas e aí como eu faço?

 

Ah, já tentei usar session e query string, mas aí o problema é que não filtra mais, dá tudo que tem no bd direto...

 

Tô postando o codigo pra vcs verem o que pode ser.

 

Brigaduuu desde já.

 

<%@LANGUAGE="VBSCRIPT" %><%Option ExplicitFunction RetiraAcentos(str)str = LCase(str)RetiraAcentos = Replace(str, "á", "a")RetiraAcentos = Replace(RetiraAcentos, "à", "a")RetiraAcentos = Replace(RetiraAcentos, "ã", "a")RetiraAcentos = Replace(RetiraAcentos, "â", "a")RetiraAcentos = Replace(RetiraAcentos, "ä", "a")RetiraAcentos = Replace(RetiraAcentos, "é", "e")RetiraAcentos = Replace(RetiraAcentos, "è", "e")RetiraAcentos = Replace(RetiraAcentos, "ê", "e")RetiraAcentos = Replace(RetiraAcentos, "ë", "e")RetiraAcentos = Replace(RetiraAcentos, "í", "i")RetiraAcentos = Replace(RetiraAcentos, "ì", "i")RetiraAcentos = Replace(RetiraAcentos, "î", "i")RetiraAcentos = Replace(RetiraAcentos, "ï", "i")RetiraAcentos = Replace(RetiraAcentos, "ó", "o")RetiraAcentos = Replace(RetiraAcentos, "ò", "o")RetiraAcentos = Replace(RetiraAcentos, "õ", "o")RetiraAcentos = Replace(RetiraAcentos, "ô", "o")RetiraAcentos = Replace(RetiraAcentos, "ö", "o")RetiraAcentos = Replace(RetiraAcentos, "ú", "u")RetiraAcentos = Replace(RetiraAcentos, "ù", "u")RetiraAcentos = Replace(RetiraAcentos, "û", "u")RetiraAcentos = Replace(RetiraAcentos, "ü", "u")RetiraAcentos = Replace(RetiraAcentos, "ç", "c")RetiraAcentos = Replace(RetiraAcentos, "a", "[a,á,à,ã,â,ä]")RetiraAcentos = Replace(RetiraAcentos, "e", "[e,é,è,ê,ë]")RetiraAcentos = Replace(RetiraAcentos, "i", "[i,í,ì,î,ï]")RetiraAcentos = Replace(RetiraAcentos, "o", "[o,ó,ò,õ,ô,ö]")RetiraAcentos = Replace(RetiraAcentos, "u", "[u,ú,ù,û,ü]")RetiraAcentos = Replace(RetiraAcentos, "c", "[c,ç]")End FunctionDim registros, Palavra, Opcoesregistros = 3pagina = Request("pagina")If pagina = "" Thenpagina = 1Palavra = Request.Form("Palavra")Opcoes = Request("opcoes")IF Opcoes = "" Then Opcoes = 1End IfDim BdWebSet BdWeb = Server.CreateObject("ADODB.Connection")BdWeb.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Pesquisa.mdb")Dim SqlIf Opcoes = 1 thenSql = "SELECT * FROM Pesquisa WHERE NumeroMedauto LIKE '%" & Palavra & "' "End IfIf Opcoes = 2 thenSq1 = "SELECT * FROM Pesquisa WHERE NumeroOriginal LIKE '%" & Palavra & "%' "End IfIf Opcoes = 3 thenSql = "SELECT * FROM Pesquisa WHERE Descricao LIKE '%" & RetiraAcentos(Palavra) &"%' "End IfDim WebRsSet WebRs = Server.CreateObject("ADODB.Recordset")WebRs.PageSize = registrosWebRs.Cachesize = registrosWebRs.Open Sql, BdWeb, 3If WebRs.EOF Then %>Nenhuma informação localizada !<%ElseWebRs.AbsolutePage = pagina%>Foram encontrados <b><%=WebRs.recordcount%></b> arquivos <% While Not WebRs.EOF and x < WebRs.PageSizeDim xx = x + 1%><table width="95%" height="78" border="1" style="border-collapse: collapse" bordercolor="#CCCCCC" cellpadding="0" cellspacing="0"><tr bordercolor="#CCCCCC"><td width="40%" height="120" rowspan="3" bgcolor="#FFFFFF"> <div align="center"><img src="<%=WebRs("Imagem")%>" border="no" align="absmiddle"> </div></td><td width="2%" rowspan="3"> </td><td width="58%" height="25" bordercolor="#CCCCCC"><span class="style6"><b>Número Medauto: </b><%=WebRs("NumeroMedauto")%></span></td></tr><tr><td height="25" bordercolor="#CCCCCC"><span class="style6"><b>Número Original: </b><%=WebRs("NumeroOriginal")%></span></td></tr><tr><td height="70" bordercolor="#CCCCCC"><span class="style6"><b>Descrição/Aplicação: </b><%=WebRs("Descricao")%></span></td></tr></table><%WebRs.MoveNextWendDim anterior, proxima, ultima, primeira, ultm2, paginaanterior = pagina - 1proxima = pagina + 1ultima = WebRs.PageCountprimeira = 1ultm2 = FormatNumber(WebRs.PageCount - 1,0)If pagina <> 1 ThenResponse.Write " <a href=resultado_busca.asp?pagina="&primeira&">Primeira Página</a></b> "End IfIf pagina > 1 AND pagina <> 2 ThenResponse.Write "<a href=resultado_busca.asp?pagina="&anterior - 1&">"&anterior - 1&"</a> "End IfIf pagina > 1 ThenResponse.Write " <a href=resultado_busca.asp?pagina="&anterior&">"&anterior&"</a> "End IfResponse.Write "<b> ["&pagina&"]</b> "If Not WebRs.EOF ThenResponse.Write " <a href=resultado_busca.asp?pagina="&proxima&">"&proxima&"</a> "End IfIf Not WebRs.EOF AND pagina <> ultima AND pagina <> ultm2 ThenResponse.Write " <a href=resultado_busca.asp?pagina="&proxima + 1&">"&proxima + 1&"</a> "End IfIf Not WebRs.EOF ThenResponse.Write "<a href=resultado_busca.asp?pagina="&ultima&">Última Página</a> "End IfEnd If%><a href="busca.asp" class="style2">Retorna</a><%WebRs.CloseSet WebRs = NothingBdWeb.CloseSet BdWeb = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá fica ruim a leitura, se você não usar o code do IPB...

 

Não analisei seu script todo, mas acredito que o problema esta aqui:

 

IF pagina = "" Thenpagina = 1palavra = Request.Form("Palavra")Elsepagina = Request("pagina")palavra = Request("Palavra")End IF

e quando você enviar o link você tem que mandar a palavra também!

por isso esta vindo tudo do seu DB!

Ex:

resultado_busca.asp?pagina=<%=anterior - 1%>&palavra=<%=palavra%>

Esse Opcoes tem alguma relação com a "Palavra" ?

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado por ter organizado meu post, em relação a sua ultima pergunta, Opções é um combo relacionado a cada coluna da tabela e a palavra será procurada naquela coluna determinada por essa opção...

Olá fica ruim a leitura, se você não usar o code do IPB...Não analisei seu script todo, mas acredito que o problema esta aqui:

IF pagina = "" Thenpagina = 1palavra = Request.Form("Palavra")Elsepagina = Request("pagina")palavra = Request("Palavra")End IF
e quando você enviar o link você tem que mandar a palavra também!por isso esta vindo tudo do seu DB!Ex:
resultado_busca.asp?pagina=<%=anterior - 1%>&palavra=<%=palavra%>
Esse Opcoes tem alguma relação com a "Palavra" ?Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

hummm então usa assim:

 

IF pagina = "" Thenpagina = 1palavra = Request.Form("Palavra")opcao = Request.Form("opcao")Elsepagina = Request("pagina")palavra = Request("Palavra")opcao = Request("opcao")End IFe na passagem para a QueryString você faz +/- assim:[code]resultado_busca.asp?pagina=<%=anterior - 1%>&palavra=<%=palavra%>&opcao=<%=opcao%>

Veja se funciona!

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei colocar como você mandou, só que na hora de passar pa query acho que tô fazendo errado, pq tá dando erro. Ele fala que Microsoft VBScript compilation error '800a0409' Unterminated string constant /resultado_busca.asp, line 384 Response.Write "<a href=resultado_busca.asp?pagina=<%=anterior - 1------------------------------------------------------------------^Coloquei no código assim:

If pagina <> 1 ThenResponse.Write " <a href=resultado_busca.asp?pagina="&primeira&">Primeira Página</a></b> "End IfIf pagina > 1 AND pagina <> 2 ThenResponse.Write "<a href=resultado_busca.asp?pagina=<%=anterior - 1%>&Palavra=<%=Palavra%>&Opcoes=<%=Opcoes%>"&anterior - 1&"</a>  "End IfIf pagina > 1 ThenResponse.Write " <a href=resultado_busca.asp?pagina=<%=anterior%>&Palavra=<%=Palavra%>&Opcoes=<%=Opcoes%>"&anterior&"</a>  "End IfResponse.Write "<b> ["&pagina&"]</b> "If Not WebRs.EOF ThenResponse.Write " <a href=resultado_busca.asp?pagina=<%=proxima%>&Palavra=<%=Palavra%>&Opcoes=<%=Opcoes%>"&proxima&"</a>  "End IfIf Not WebRs.EOF AND pagina <> ultima AND pagina <> ultm2 ThenResponse.Write " <a href=resultado_busca.asp?pagina=<%=proxima + 1%>&Palavra=<%=Palavra%>&Opcoes=<%=Opcoes%>"&proxima + 1&"</a>  "End IfIf Not WebRs.EOF ThenResponse.Write "<a href=resultado_busca.asp?pagina=<%=ultima%>&Palavra=<%=Palavra%>&Opcoes=<%=Opcoes%>Última Página</a> "
O que está errado???

hummm então usa assim:

IF pagina = "" Thenpagina = 1palavra = Request.Form("Palavra")opcao = Request.Form("opcao")Elsepagina = Request("pagina")palavra = Request("Palavra")opcao = Request("opcao")End IFe na passagem para a QueryString você faz +/- assim:[code]resultado_busca.asp?pagina=<%=anterior - 1%>&palavra=<%=palavra%>&opcao=<%=opcao%>
Veja se funciona!T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

mude isso:

Response.Write "<a href=resultado_busca.asp?pagina=<%=anterior - 1%>&Palavra=<%=Palavra%>&Opcoes=<%=Opcoes%>"&anterior - 1&"</a> "

para isso:

<a href="resultado_busca.asp?pagina=<%=anterior - 1%>&Palavra=<%=Palavra%>&Opcoes=<%=Opcoes%>">Anterior</a>

isso <%=

é igual a Response.Write ;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara bobeira minha, agora deu certinho, nunca ia passar as Querys mesmo, primeiro que tava fora "descrição da página" e não tava mandando buscar quando clicava nos links...coloquei assim em tudo e deu certinho:

If pagina <> 1 ThenResponse.Write " <a href=resultado_busca.asp?pagina="&primeira&">Primeira Página</a></b> "End IfIf pagina > 1 AND pagina <> 2 ThenResponse.Write "<a href=resultado_busca.asp?pagina="&anterior - 1&"&Palavra="&Palavra&"&Opcoes="&Opcoes&">"&anterior - 1&"</a>  "End If"

Valeu pela luz...Rapido e eficiente...

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.