Ir para conteúdo

POWERED BY:

Arquivado

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

hgb7

Problema ao montar uma query ...

Recommended Posts

Bom dia

 

$re = mysql_query("SELECT * FROM usuarios,estados where fk_estado = id_estado and FIND_IN_SET(doacao, 'A,B,D,R,E,M,O,P') ORDER BY {$_GET['ordem']};");

Uso esta query para buscar pessoas que tenham atualmente UM destes valores, e está query funciona...

Mas agora estou usando uma combo box em que se pode selecionar 2 ou MAIS destes valores, mas esta query não interpreta neste caso, não mostrado ele na lista, o que posso fazer?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atualmente, é inserido em cada registro um destes valores 'A,B,D,R,E,M,O,P' , e cada letra desta é uma tabela, porém quero que estas mesmas tabelas aceitem registros com MAIS DE UM valor...

Porque quando faço isso, a tabela com a respectiva query não encontra mais...

 

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com FIND_IN_SET eu não consigo que busque por 2 ou mais valores... alguma idéia de alguma outra função? :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT *

FROM usuarios,estados

where

fk_estado = id_estado

and doacao IN('A','B','D','R','E','M','O','P')

ORDER BY {$_GET['ordem']};");

 

IN('A')

IN('A','E')

 

e por ai vai, o 'OR' eh implicito no IN

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for fazer assim, as combinações são muitas... é melhor deixar só escolher um mesmo...

 

Obrigado pela ajuda :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade não tem combinação... O SELECT que o giesta colocou vai funcionar exatamente como você precisa e como ele colocou...

 

A parte de baixo foi só um exemplo... Ele quis dizer que se for só A vai achar. Se for A e E vai achar. Se for A ou E vai achar... E assim por diante.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você for fazer um campo multivalorado você esta dando um tiro de escopeta na cara da normalizaçao. Fazer com duas tabelas e FK eh o correto.

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.