Ir para conteúdo

POWERED BY:

Arquivado

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

sfonseca45

Pesquisa em diversos campos

Recommended Posts

Bom DiaAntes de postar pesquesei e não encontrei nenhuma solução, vamos ao problema;Tenho uma tabela de nome de imoveis, fiz uma pagina de pesquisa com um form (metodo post ) com os sequintes itens :Categoria -> Todos, apartamento, casa, etc ...Bairros -> Todos, Pituba, Itapuã, etc ...Nr.Quartodos -> Todos, 1,2,3,etc ...Valor -> Qualquer Preço, 100 a 150 mil, 151 a 200 mil, etc ...Agora vem o problema como passar esses parametros para a pagina de resultados.Se o usuário não selecionar nem um campo tem que vir todos os imóveis.Se lecionar apenas categoria terá que vir somente a respectiva categoria porem de todos os bairros, valor e quartose Assim por diante.Já tentei colocar na SQL - WHERE + AND / WHERE + OR / LIKENão funcionou nenhum.Pensei em colocar condições IF imovel = "todos" then Select * from imovel ElseSelect * from imovel Where categoria = imovelEnd IFPorem e os outros campos - teria que fazer varias condições.Será que este é o unico metodo ou será que existe outro jeito.Estou precisando da ajudas dos amigos, qualquer idéia será bem vinda e testada.Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que resolve

 

'tipo é o nome do selecttipo = request("tipo")select case(tipo)case "categoria"sql = "select * from tabela where campo = '"&tipo&"'"case "bairros"sql = "select * from tabela where campo = '"&tipo&"'"end select

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta Meirelles.Porém, eu penso, que utilizando este metodo eu teria opção apenas de um item da tabela.Eu tenho 4 Request :CategoriaBairroQuartosPreçotenho que deixar que o usuário escolha os campos de pesquisa ou seja:CategoriaCategoria + BairroCategoria + Bairro + QuartosCategoria + Bairro + Quartos + PreçoBairroBairro + QuartosBairro + Quartos + PreçoQuartosQuartos + PreçoPreçoOu nenhum item preenchidos ou seja todos os imoveis cadastradosÉ possível?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é isso:

 

'tipo é o nome do selecttipo = request("tipo")select case(tipo)case "categoria"sql = "select * from tabela where categoria = '"&request("categoria")&"'"case "categoria + bairros"sql = "select * from tabela where categoria = '"&request("categoria")&"' and bairro = '"&request("bairro")&"'"end select

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom DiaDesculpe a minha falta de experiencia.Mas você coloca :tipo = request("Tipo")com isso quer dizer que é um Request apenas. Mas eu faço na pagina de resultados 4 Request.Form, estou perdido.e no Select Case eu teria que por assimselect case(tipo)case "categoria"if categoria ="todos" and Bairro="todos" and quarto="todos" and valor="todos"the sql ="select * from imoveis"else ifif categoria<>"todos" and Bairro="todos" and quarto="todos" and valor="todos"]the sql = "select * from imoveis WHERE categoria = categoriae assim por dianteObrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se é o melhor metodo, o mas o que você acha de utilizar assim

 

IF imv <> "Todos" and bairro = "Todos" and quarto = "Todos" and valor = "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE categoria ='"+imv+"'  ORDER BY preco ASC"					Elseif imv <> "Todos" and bairro <> "Todos" and quarto = "Todos" and valor = "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE categoria ='"+imv+"' and bairro = '"+bairro+"' ORDER BY preco ASC"					Elseif imv <> "Todos" and bairro <> "Todos" and quarto <> "Todos" and valor = "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE categoria ='"+imv+"' and bairro = '"+bairro+"' and quarto>='"+quarto+"' ORDER BY preco ASC"					Elseif imv <> "Todos" and bairro <> "Todos" and quarto <> "Todos" and valor <> "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE categoria ='"+imv+"' and bairro = '"+bairro+"' and quarto>='"+quarto+"' and preco<='"+valor+"' ORDER BY preco ASC"					Elseif imv = "Todos" and bairro <> "Todos" and quarto = "Todos" and valor = "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE bairro ='"+bairro+"'  ORDER BY preco ASC"					Elseif imv = "Todos" and bairro = "Todos" and quarto <> "Todos" and valor = "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE quarto>='"+quarto+"'  ORDER BY preco ASC"					Elseif imv = "Todos" and bairro = "Todos" and quarto = "Todos" and valor <> "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE preco<='"+valor+"' ORDER BY preco ASC"					Elseif imv = "Todos" and bairro <> "Todos" and quarto <> "Todos" and valor = "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis WHERE bairro='"+bairro+"' and quarto>='"+quarto+"' ORDER BY preco ASC"					Elseif imv = "Todos" and bairro <> "Todos" and quarto <> "Todos" and valor <> "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE preco<='"+valor+"' and bairro='"+bairro+"' and quarto>='"+quarto+"' ORDER BY preco ASC"					Elseif imv = "Todos" and bairro = "Todos" and quarto <> "Todos" and valor <> "Todos" then					rstimoveis.Source = "SELECT *  FROM imoveis  WHERE preco<='"+valor+"' and quarto>='"+quarto+"' ORDER BY preco ASC"					Else					rstimoveis.Source =	"SELECT *  FROM imoveis ORDER BY preco ASC"					End if

aBS

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.