Ir para conteúdo

POWERED BY:

Arquivado

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

neotheone

Consulta em SQL

Recommended Posts

Fala galera beleza? To com uma dúvida muito braba aqui.

 

Vou tentar explicar

 

Possuo uma pagina onde existe várias checkbox como estas abaixo, o usuario escolhe algumas e daí se forma um formulário de pesquisa para ele buscar pessoas por exemplo do sexo masculino e que tenham concluido a faculdade.

 

Como eu faria pra construir consultas SQL dinâmicas? de acordo com o que o usuario escolheu para pesquisar

 

Vou postar o endereço de onde ta hospedado o sistema para vocês entenderem melho:

SISTEMA DE BUSCA

 

[ ] nome

 

[ ] sexo

 

[ ] escolaridade (Concluido, Cursando, Incompleto)

 

[ ] Área de interesse

 

 

valew pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Campo normal, é um formulário... agora cada checkbox teria um nome diferente, mais a pesquisa seria a mesma...

 

Tem duvidas para contruir o SQL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Ted K, seria possível uma explicação mais detalhada pois eu não entendi nada do que você falou.Eu ja sei que cada checkbox necessita de nomes diferentes, isso eu ja fiz.Como construir a consulta SQL somente com os checkbox selecionados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que verificar antes se o checkbox está marcado, caso esteja marcado você envia o valor que você quer assim:

 

[ ] nome (EX: <input typle="checkbox" name="nome" value="nome">)

 

[ ] sexo

 

[ ] escolaridade (Concluido, Cursando, Incompleto)

 

[ ] Área de interesse

 

 

ASP
if Request.Form("nome") = True Then

valor = "nome"

end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted acho que você ainda nao entendeu minha dúvida, tentarei explicar de um melhor modo.[ ] nome (EX: <input typle="checkbox" name="nome" value="nome">)[ ] sexo[ ] escolaridade (Concluido, Cursando, Incompleto)[ ] Área de interesseSuponha que ele escolha filtrar uma pesquisa por sexo e escolaridade:Daí meu formulário iria se montar assim:-----------------------------------------Digite Sexo: [Masculino]Digite Escolaridade: [Concluído]Botão [buscar] -----------------------------------------Imagine q eu digitei sexo 'masculino' e escolaridade 'Concluido', então ele vai la no meu banco e precisa listar todas as pessoas do sexo 'masculino' e que tenham 'concluido' a graduacao.sexo = request.Form ("sexo")escolaridade = request.Form("escolaridade")sql = "Select * from pessoas where sexo='"&sexo&"' AND escolaridade='"&escolaridade&"' "set rs = conexao.execute(sql)PS: Eu sei fazer a consulta SQL, porém imagine que a pessoa escolha outros tipos de filtragem, como irei alterar a consulta SQL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando você coloca o checkbox pra fazer isso você ñ faz consultas desse tipo no banco pq se ñ ficaria assim:

 

[ ] nome (EX: <input typle="checkbox" name="nome" value="nome">)

 

sql = "Select * from pessoas where nome='"&Request.Form("nome")&"' "

 

então você estaria procurando a palavra nome certo?

Mais você vai ter que fazer desse tipo:

 

ao invés dele procurar a palavra nome você mostra todos os registos da tabela nome, que seria o ideal:

 

ficando assim:

sql = "Select "&Request.Form("nome")&" from pessoas "

 

será que fui claro, poderia colocar assim? ou você tem de ontro jeito???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted você continua sem entender minha dúvida

 

acesse o site pra ver se você consegue entender:

http://www.wilsonsons.com.br/banco_curricu...sulta/index.asp

 

Aquelas checkbox são simplesmente para fazer aparecer os campos do formulário que desejo para fazer minha pesquisa.

 

Quando eu marco as opções sexo e escolaridade, o meu formulário é montado com essas 2 opções

-----------------------------

Formulário:

 

Digite o sexo

Digite a escolaridade

 

submit

-----------------------------

 

Quando aperto em submit vai para outra pagina onde existe um request.Form que pega os valores que digitei no campo

sexo e escolaridade, é aí que monto minha consulta em SQL:

 

sql = "Select * from pessoas where sexo='"&sexo&"' AND escolaridade='"&escolaridade&"' "

 

Aqueles campos ali em cima de vermelho, são exatamente os valores que puxei dos campos de texto.

 

Minha dúvida é a seguinte:

O Cara na hora pode escolher por exemplo sexo e idade, daí terei que ficar trocando minha consulta SQL, é isso que nao sei fazer. Teria que fazer algo dinamico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi, desculpa, hoje eu tô meio lento!!!

 

você vai ter que fazer um sql com todos os parâmentros, sei que por exemplo, se tiver só SEXO, IDADE, NOME, ai você faz um sql assim:

 

o usuário selecionou SEXO e NOME

 

o sql vai está assim:

 

sql = [color= #ff0000;]"Select * from pessoas where sexo='"&sexo&"' AND nome='"&nome&"' AND idade='"&idade&"'"

 

só que como ñ temos o campo idade ele vai dar erro por isso vamos fazer o tratamento antes de buscar assim:

 

ASP
if[/color] request.form("sexo") = "" then

sexo = ""

else

sexo = request.form("sexo")

elseif request.form("nome") = "" then

nome = ""

else

nome = request.form("nome")

elseif request.form("idade") = "" then

idade = ""

else

nome = request.form("idade")

end if

 

sql = "Select * from pessoas where sexo='"&sexo&"' AND nome='"&nome&"' AND idade='"&idade&"'"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted, infelizmente dessa maneira não dá certo, pela seguinte razão.Eu sou obrigado a habilitar o checkbox sexo, escolaridade e endereço.Se eu quiser só escolher sexo por exemplo, ele não acha a galera do sexo masculino por causa do AND q é usada para fazer a consulta, é preciso que todos esses campos estejam preenchidos para funcionar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Monte sua SQL com IF's testando, para cada campo selecionado você adiciona um pedaço da SQL, entendeu?

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.