PHP: Como melhorar a busca em uma tabela
Ideia: Montar um SQL dinâmico separando as palavras buscadas.
Melhoria: Deixo pra você implementar uma função que elimine as preposições, ex: a, em, de, até, com, após, ante, contra, desde, entre, para, por, perante, sem, sob, sobre, trás
// SQL inicial $sql = 'SELECT * FROM noticias'; // palavras buscadas $termo = 'futebol política'; // separando as palavras $palavras = explode(' ', $termo); // loop para complementar o sql foreach ($palavras as $indice => $palavra) { if ($indice == 0) { $sql .= ' WHERE (titulo LIKE "%' . $palavra . '%"'; } else { $sql .= ' OR titulo LIKE "%' . $palavra . '%"'; } } $sql .= ");"; echo "<pre>"; print_r($sql); echo " |
“;
SQL FINAL:
SELECT * FROM noticias WHERE (titulo LIKE “%transferência%” OR titulo LIKE “%medicina%”);
Tem uma solução melhor? Deixe nos comentários.