Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Senhores,
Como fazer para que uma busca por nome de, por exemplo, "Maria Augusta da Silva", eu consiga encontrar também "Maria A da Silva" e vice-versa e semelhantes? Existe alguma função para isso?
Estou usando a seguinte consulta (PHP/MySQL): SELECT nome FROM usuarios WHERE nome LIKE %$busca%; sendo que a variável busca é recebida via GET de outra página.
Agradeço desde já qualquer ajuda possível.
Obrigado
Osman, lembre-se q p/ efetuar uma busca em "strings",
a variavel deverá estar entre aspas simples.
No seu exemplo tente assim:
SELECT nome FROM usuarios
WHERE nome LIKE '%$busca%';>
Osman, lembre-se q p/ efetuar uma busca em "strings",
a variavel deverá estar entre aspas simples.
No seu exemplo tente assim:
SELECT nome FROM usuarios
WHERE nome LIKE '%$busca%';
OK Fernando, muito obrigado pela sua ajuda. Ela está da forma que você indicou, só não digitei aki no post. Desculpe pelo descuido.
Obrigado.
>
Pelo pouco que sei MySql tem funções poderosas para isto.
Motta, era exatamente o que precisava.
Minha query que era assim:
SELECT campo_da_tabela
FROM minha_tabela
WHERE campo_da_tabela
LIKE '%$VALOR_A_SER_BUSCADO%';
Ficou assim:
SELECT campo_da_tabela, MATCH(campo_da_tabela) AGAINST ('$VALOR_A_SER_BUSCADO') AS relevancia
FROM minha_tabela
WHERE MATCH (campo_da_tabela) AGAINST ('$VALOR_A_SER_BUSCADO' IN BOOLEAN MODE)
ORDER BY relevancia DESC;
e funcionando exatamente como preciso!!!
Muito obrigado!!!
Pelo pouco que sei MySql tem funções poderosas para isto.