Ir para conteúdo

POWERED BY:

Arquivado

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

subfak

2 like mesma coluna

Recommended Posts

meu proble é o seguintedigamos q eu tenha q procurar nomes q comece com A, D e X no Campo Nomeeu tentei o sequinte: SELECT * FROM clientes WHERE nome LIKE '$a%' AND nome LIKE '$b%'na minha pagina tem varias checkbox onde a pessoa seleciona a ou b se a pessoa selecionar só 1 letra funcionase selecionar a e b por ex naum sendo q selecioanado as 2 deveria aparecer todos os nomes com a e b no inicio...grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

você nao colocou o nome do campo nome completo, perceba: ... SELECT * FROM clientes WHERE nome LIKE '$a%' AND no LIKE '$b%'

Compartilhar este post


Link para o post
Compartilhar em outros sites

pior q aqui vou erro de digitação lá no codigo ta certoé pq como disse um ou outro ele acha só quando procura os 2 juntos(a e B ) num aparece nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você quer q apareça os registros para as duas ocorrencias ( a e B), a lógica correta é... listar quando apreseta A ou quando apresenta Btroca no select AND por OR e veja se é isso q você quer

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai q ta agora funciona quando seleciona A e B mas quando seleciona só o A ele ta pau... a e outra coisa se eu colocar por ex umas 3ª opção por ex C da pau tb hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa! eu resolvo isso na linguagem de programação que uso, no caso PHP..

verificando se os campos foram enviados pelo formulário, daí concatena na query do SQL...

 

Ex.:

$query = "SELECT * FROM clientes";if($_POST['a']  && $_POST['b']){	$query .= " WHERE nome LIKE '$a%' OR nome LIKE '$b%'";}// .... e assim por diante... faço a query só com o que foi postado, depois executo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa! eu resolvo isso na linguagem de programação que uso, no caso PHP..verificando se os campos foram enviados pelo formulário, daí concatena na query do SQL...Ex.:

$query = "SELECT * FROM clientes";if($_POST['a']  && $_POST['b']){	$query .= " WHERE nome LIKE '$a%' OR nome LIKE '$b%'";}// .... e assim por diante... faço a query só com o que foi postado, depois executo.
é + ou - isso q quero fazer mas a duvida é... q so cara selecionar todas as letras do alfabeto?eu tb to usando php... ai ele recebe pelo formularios as opções selecionadas... se fizemos 1 IF para cada selecionada levando em consideração q tem todas opções do alfabeto teremos muitos ifs... ex A. AeB. AeBeC. AeCeVeX...alguem com alguma idéia de como montar a query letra por letra só com as q foram selecionadas realmente?to tentando algo aqui se eu conseguir achar a logica eu posto

Compartilhar este post


Link para o post
Compartilhar em outros sites

//inicio da query				$query = "SELECT * FROM clientes WHERE ";		if($_POST['a']){					   $query .= "nf LIKE '$a%'";					   $control = "1";		 }    		 if(($_POST['b']) &&( $control == 1)){			 $query .= "OR nf LIKE '$b%'";		 		 }		 elseif (($_POST['b']) &&( $control != 1)){			 $query .= "nf LIKE '$b%'";			 $control = "1";		 }		 		 if(($_POST['c']) &&( $control == 1)){			 $query .= "OR nf LIKE '$c%'";		 		 }		 elseif (($_POST['c']) &&( $control != 1)){			  $query .= "nf LIKE '$c%'";			  $control = "1";		 }		 				 $query .= " ORDER by nf";

consegui fazer funcionar desse jeito ai... alguem tem alguma idpéia mais simples???

 

 

bragadu galera ao menos o maior problema ta resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode ajuntar todas as letras selecionadas numa string, e usá-la na cláusula REGEXP/RLIKE.

 

Por exemplo:

 

WHERE nome REGEXP '^[aeiou]'

Dessa forma, irá pegar os registros que comecem A, E, I, O e U.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode ajuntar todas as letras selecionadas numa string, e usá-la na cláusula REGEXP/RLIKE.Por exemplo:

WHERE nome REGEXP '^[aeiou]'
Dessa forma, irá pegar os registros que comecem A, E, I, O e U.
muitobom!!!!!!!!!!!! brigaduuu

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.