Como posso realizar esse tipo de pesquisa?
Aqui está minha mesa:
Name Category
---------------------------------
Company1 food,services
Company2 garden,gifts,services
Company3 other,auto
e aqui está a consulta:
$search = $_GET["search"];
"SELECT * FROM companies WHERE category IN ("$search")";
A variável de pesquisa acima é semelhante a mydomain.com?search=garden,services
A ideia é obter todas as linhas relevantes se alguma das palavras-chave correspondentes estiver presente no campo Categoria.
Respostas:
0 para resposta № 1A pesquisa SQL mais simples é provavelmente uma pesquisa LIKE:
SELECT * from companies where category LIKE ("%$search%");
Você também pode fazer uma pesquisa REGEXP:
SELECT * from companies where category REGEXP ("$search");
O que muitos acabaram fazendo, no entanto, é texto completo procurando. Você pode configurar o MySQL para fazer isso, ou talvez você queira tentar uma solução como SphinxSearch.