Buscar 2 ou 3 palavras no php
Estou desenvolvendo um sistema de busca com mais de uma palavra, ele funciona, só gostaria de saber se é o correto para achar uma frase tipo: "Graças a Deus"
Recebe a palavra pesquisada e remove espaços
$buscando = trim($_REQUEST["palavra"]);
Explode a frase e separa no máximo 3 palavras
$pedacos = explode(" ",$buscando);
Coloca as palavras em array
$pedacos[0]; //pega a palavra "graça"
$pedacos[1]; //pega a palavra "a"
$pedacos[2]; //pega a palavra "deus"
Conta o numero de palavras encontrada
$numero = count($pedacos);
Se for uma palavra faz a consulta
if ($numero==1) {
$sql_select = "SELECT * FROM tabela WHERE nome LIKE ('%$buscando%')";
} elseif ($numero>1) {
Se for entre duas ou tres palavras faz a consulta pegando do array
$sql_select = "SELECT * FROM tabela WHERE nome LIKE ('%$pedacos[0]%') AND nome LIKE ('%$pedacos[1]%') AND nome LIKE ('%$pedacos[2]%') ";
}
Recebe a palavra pesquisada e remove espaços
$buscando = trim($_REQUEST["palavra"]);
Explode a frase e separa no máximo 3 palavras
$pedacos = explode(" ",$buscando);
Coloca as palavras em array
$pedacos[0]; //pega a palavra "graça"
$pedacos[1]; //pega a palavra "a"
$pedacos[2]; //pega a palavra "deus"
Conta o numero de palavras encontrada
$numero = count($pedacos);
Se for uma palavra faz a consulta
if ($numero==1) {
$sql_select = "SELECT * FROM tabela WHERE nome LIKE ('%$buscando%')";
} elseif ($numero>1) {
Se for entre duas ou tres palavras faz a consulta pegando do array
$sql_select = "SELECT * FROM tabela WHERE nome LIKE ('%$pedacos[0]%') AND nome LIKE ('%$pedacos[1]%') AND nome LIKE ('%$pedacos[2]%') ";
}
comentários (0)
suspender
Lista de Respostas:
Nenhuma resposta foi publicada ainda.