MySQLPHP

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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *