/ / Php, Mysql Match in Definir vários valores - php, mysql, search

Php, Mysql Match in Definir vários valores - php, mysql, search

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 № 1

A 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.