Ir para conteúdo

POWERED BY:

Arquivado

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

[rush_jeff_rulez]

Busca Avançada

Recommended Posts

Eae galera - Rá !!!!Estavam com saudades de mim !? ... ah pode falar vai !!!Entao pessu ... seguinte, aquela busca simples lah q eu fiz funcionou mto bem ... tanto q andei incrementando ela ateh virar um busca avançada !!! :D Maaaassssssssssss ... assim ... no meu form tem 4 campos (2 opcoes) q sao assim:quantidade minina e quantidade maximapreço minimo e preço maximoAi o cara digita a quantidade minima e a maxima ... e no SELECT eu uso um BETWEEN entre os dois campos ou um =< request =< ok !?Soh q esses campos sao opcionais ... o q leva o cara as vezes a nao digitar os valores e na hora de fazer a busca retorna q nao foi encontrado nenhum registro ...Sera q vou ter q fazer um IF ... seguido de um SELECT para cada opção ou o contrario ... ou existe uma maneira mais facil de solucionar este problema !?Quem puder dar uma ajuda ae valeu !!! saiba q seu lugar estara guardado no meu coração !!!!Falow pessu !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza deverá usar IF para montar a SQL de busca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois eh .... pois eh ... pois eh caro salgado !!!

 

Montei uns if´s e tals ... aproveitando o gancho do nosso grande ALVES ... soh q ele deu uns pau ai eu dei uma arrumada aqui no meu codigo e ele funcionou legal ....

 

segue ai o code pra que mestiver passando pelo mesmo q eu !!!

 

ASP

[*]transacao=(Request("buscatransacao"))

 

[*]tipo=(Request("buscaimovel"))

 

[*]estado=(Request("buscaestado"))

 

[*]cidade=(Request("buscacidade"))

 

[*]bairro=(Request("buscabairro"))

 

[*]status="1"

 

[*]

 

[*]Set rs Server.CreateObject("adodb.recordset")

 

[*]SQL "SELECT * FROM anuncios WHERE Transacao='"&transacao&"' AND Tipo='"&tipo&"' AND Estado='"&estado&"' AND Cidade LIKE '%"&cidade&"%' AND Status='"&status&"'"

 

[*]if (request.QueryString("buscabairro") <> ""then

 

[*] SQL = SQL & "AND Bairro LIKE '%" & request.QueryString("buscabairro") & "%'"

 

[*]end if

 

[*]if (request.QueryString("buscaareamin") <> ""then

 

[*] SQL = SQL & "AND Area >= '" & request.QueryString("buscaareamin") & "'"

 

[*]end if

 

[*]if (request.QueryString("buscaareamax") <> ""then

 

[*] SQL = SQL & "AND Area <= '" & request.QueryString("buscaareamax") & "'"

 

[*]end if 

 

[*]if (request.QueryString("buscadormitorios") <> ""then

 

[*] SQL = SQL & "AND Dormitorios = " & request.QueryString("buscadormitorios") & ""

 

[*]end if

 

[*]if (request.QueryString("buscavagas") <> ""then

 

[*] SQL = SQL & "AND Garagem = " & request.QueryString("buscavagas") & ""

 

[*]end if

 

[*]if (request.QueryString("buscaprecomin") <> ""then

 

[*] SQL = SQL & "AND Valor >= '" & request.QueryString("buscaprecomin") & "'"

 

[*]end if

 

[*]if (request.QueryString("buscaprecomax") <> ""then

 

[*] SQL = SQL & "AND Valor >= '" & request.QueryString("buscaprecomax") & "'"

 

[*]end if

 

[*]SQL = SQL & "ORDER BY ID"

 

[*]rs.Open SQL, ConnString, 1, 3

 

Se eu me enrosca de novo .... eu dou grito !!!

Valeu .....

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem tudo eh alegria !!!

 

http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

Na verdade eh mais uma questao tecnica ... mas q influencia mto no sistema de busca !!!

 

Tipo no cadastro os valores monetarios sao cadastrados em decimais:

 

tenho um registro com valor 50.000,00

 

se procuro um registro q tenha valor minimo 500,00

 

ele exclui esse registro de 50.000,00 da busca .. .quando na verdade ele devria mostra-lo .... mas eh tudo por causa do decimal.

 

Alguem sabe como resolver esse problema !? ... para ele interpretar o valor todo !?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo .. Marcelo ... tipo... pega_valor = (Request("valor")tiravirgula = Replace(pega_valor, ",", ".")assim !?E sem querer abusar mais uma coisa ... qdo mando listar uma categoria por valor o:100.000,00 aparece primeiro q o 5.000,00 vou ter q usar o mesmo esquema para lista-los ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo!!!!!!'Organizar os dadosSQL = "SELECT * FROM tabela WHERE Campo = '"&Campo&"' ORDER BY Campo FUNÇÃO"'FunçãoDESC, ASC, RND, Entre outros

Compartilhar este post


Link para o post
Compartilhar em outros sites

Flood .... flood ... flood

 

Bom, primeiramente .... a função para trocar virgula por ponto eh essa mesmo !?

 

pega_valor = (Request("valor")tiravirgula = Replace(pega_valor, ",", ".")

Desculpem a minha folga ... mas eh q estou arrumando outras coisas e nao consegui testar pra ver se eh ....

 

E quanto ao ORDER BY DESC ... ASC ... isso eh tranquilo ... pois se vcs deram uma olhada lah no codigo estou ordenando por ID ... sem ser crescente, descrescente ou aleatorio... isso nao precisa ... soh queria saber como listar o valor ... de forma crescente (ASC) ... sem q ele coloque:

 

100.000,00 na frente do 5.000,00 ...... soh pq o primeiro começa com 1

 

Valeu ... e obrigado pela atenção !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Flood .... flood ... flood

 

Bom, primeiramente .... a função para trocar virgula por ponto eh essa mesmo !?

 

pega_valor = (Request("valor")tiravirgula = Replace(pega_valor, ",", ".")
Desculpem a minha folga ... mas eh q estou arrumando outras coisas e nao consegui testar pra ver se eh ....

 

E quanto ao ORDER BY DESC ... ASC ... isso eh tranquilo ... pois se vcs deram uma olhada lah no codigo estou ordenando por ID ... sem ser crescente, descrescente ou aleatorio... isso nao precisa ... soh queria saber como listar o valor ... de forma crescente (ASC) ... sem q ele coloque:

 

100.000,00  na frente do 5.000,00 ...... soh pq o primeiro começa com 1

 

Valeu ... e obrigado pela atenção !!

o campo esta como numero, money ou coisa do genero, ou esta como texto cara??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow .... valew galera Soh q tipo eu fiz esse bd em access soh para testes .... o campo esta como texto mesmo ... essa instrução q tu (Marcelo) passou serve para ACCESS tbm ou soh rola no SQL !?Valeu ... brigadao ae pela ajuda !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar CDBL no order bySELECT CAMPO FROM TABELA ORDER BY CDBL(CAMPO)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Iehhhhh !!!

 

Valeu Marioooo !!!

Dramatização:

"Depois q li o post do Mario respondendo minha pergunta, nao perdi tempo e fui correndo no meu codigo, alterei a linha de:

ASP

[*]SQL "SELECT * FROM tabela WHERE Cod='"&bscuser&" ORDER BY Valor ASC"

 

por:

 

ASP

[*]SQL "SELECT * FROM tabela WHERE Cod='"&bscuser&" ORDER BY CDBL (Valor) ASC"

 

E mais uma vez funcionou perfeitamente !!!"

 

Brigadão galera !!!

Valeu Mario

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

,Jul 6 2005, 12:52 PM]Iehhhhh !!!

 

Valeu Marioooo !!!

Dramatização:

"Depois q li o post do Mario respondendo minha pergunta, nao perdi tempo e fui correndo no meu codigo, alterei a linha de:

ASP

    [*]SQL "SELECT * FROM tabela WHERE Cod='"&bscuser&" ORDER BY Valor ASC"

 

por:

 

ASP

    [*]SQL "SELECT * FROM tabela WHERE Cod='"&bscuser&" ORDER BY CDBL (Valor) ASC"

 

E mais uma vez funcionou perfeitamente !!!"

 

Brigadão galera !!!

Valeu Mario

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

que bom cara

 

precisando pode postar no forum que alguem ajuda http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa !!!Reativando o tópico !!!! :D Seguinte pesso ... para eu fazer uma busca por todos os CAMPOS de uma TABELA !? .... na SQL ... vou ter q colocar um OR em todos os campos ... ou tem uma forma mais dinamica de se fazer isso !?quem puder dar uma força ai !!! Valeu galera - RÁ

Compartilhar este post


Link para o post
Compartilhar em outros sites

se entendi com certeza OR em tudo, não conheco outro jeito pelo menos

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.