Ir para conteúdo
Fórum Script Brasil
  • 0

Busca em PHP - Like


Igor Leonne

Pergunta

Bom dia.

Estou precisando de uma solução em PHP + Mysql.

Eu tenho um campo chamado atividades, ele pode ser preenchido com varios valores, como o exemplo abaixo:

1) motor, caixa de freio, lichadeira

2) motorista, empilhadeira, caixa

Quando for realizar uma pesquisa eu escreve "motor", usando o like ao pesquisar ele encontrara as duas respostas, pois a primeira opção possui MOTOR e a segunda MOTORista, porem eu quero encontrar somente MOTOR, pois essa é minha pesquisa, alguém sabe alguma ferramenta a ser utilizada?

ou que faça pelo menos a palavra procurada seja encontrada na frente?

aguardo alguma resposta.

Obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Com este operador, podemos comparar cadeias de caracteres utilizando padrões de comparação (wildcard) para um ou mais caracteres. Normalmente, o caracter percentual (%) substitui zero, um ou mais caracteres e sublinha (_) substitui um caracter.

Utilizando a combinação desses caracteres especiais com o que se quer localizar, pode-se conseguir uma variedade muito grande de expressões. Veja na tabela a seguir algumas possíveis combinações:

. LIKE 'A%' - Todas as palavras que iniciem com a letra A;

. LIKE '%A' - Todas que terminem com a letra A;

. LIKE '%A%' - Todas que tenham a letra A em qualquer posição;

. LIKE 'A_' - String de dois caracteres que tenham a primeira letra A e o segundo caractere seja qualquer outro;

. LIKE '_A' - String de dois caracteres cujo primeiro caractere seja qualquer um e a última letra seja A;

. LIKE '_A_' - String de três caracteres cuja segunda letra seja A, independentemente do primeiro ou do último caractere;

. LIKE '%A_' - Todos que tenham a letra A na panúltima posição e a última seja qualquer outro caractere;

. LIKE '_A%' - Todos que tanham a letra A na segunda posição e o primeiro caractere seja qualquer um;

Caso queira realizar uma busca onde o caracter pesquisado seja por exemplo o (_) usa-se o caracter de escape \.

Por exemplo:

select * from dvd where nome_dvd like '%\_%' escape '\';

Link para o comentário
Compartilhar em outros sites

  • 0

Guarde todos os valores entre virgulas, ou seja:

1) ,motor,caixa de freio,lichadeira,

2) ,motorista,empilhadeira,caixa,

Na hora de buscar faça:

$busca = ','.$_POST['busca'].',';

$sql = mysql_query("...WHERE campo LIKE '%$busca%'");

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...