Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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...
:)
Com FIND_IN_SET eu não consigo que busque por 2 ou mais valores... alguma idéia de alguma outra função? :)
Este tema tem mais haver com PHP, ou deixa aqui mesmo?
Gostaria que fosse movido para Modelagem SQL por favor... :)
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
Se for fazer assim, as combinações são muitas... é melhor deixar só escolher um mesmo...
Obrigado pela ajuda :)
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
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.
uh?