Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Tenho um banco com tabelas(innodb),portanto nao tem como usar fulltext.
Diante disso, estou tentando criar uma consulta que me retorne o seguinte exemplo:
Se eu digitar a seguinte frase : Um lindo dentro do meu campo descricacao ele me retorne entre outros resultados:
Um dia lindo
Um fim de semana Lindo
Entao, a pesquisa vai me retornar as palavras que eu colocar na consulta. Tentei usar o %like% mas nao deu certo.
Voces tem alguma dica? :)
obrigada
Oi,
Obrigada pela resposta. Mas como farei para usar isso em variaveis ??? percebi que o exemplo voce usou textos diretos, como farei para usar dois likes com variaveis?
obrigada mais uma vez,
Sendo uma consulta de usuário uma solução poderia ser "desmontar" a string de pesquisa do usuário nas palavras chave e montar uma SQL dinamicamente.
Tendo cuidado com o SQL injection !
Desmontar a string? tipo array?
O usuário digita :
palavra numa frase
a aplicação separa :
palavra
numa
frase
faz um laço e monta o SQL :
SELECT TEXTO FROM TABELA WHERE (UPPER(TEXTO) LIKE '%PALAVRA%' AND UPPER(TEXTO) LIKE '%NUMA%' AND UPPER(TEXTO) LIKE '%FRASE%')
Aí executa o SQL montado.
Dois like
SELECT TEXTO
FROM TABELA
WHERE (UPPER(TEXTO) LIKE '%UM%' AND UPPER(TEXTO) LIKE '%LINDO%')
Caso queira QUALQUER palavra troque o AND pelo OR.