tenho uma dúvida a ser salientada.
Pois bem, quero buscar dentro de um campo texto na consulta sql, as notícias relacionadas à palavra chave digitada no site.
Olhem o código 1º:
if (strpos($_SESSION["busca"]," ")) {
$string = explode(" ",$_SESSION["busca"]);
$total = (count($string)-1);
for ($i = 0; $i <= $total; $i++) {
if ($i == 0) {
$txt = "(texto like '%$string[$i]%')";
$tit = "(titulo like '%$string[$i]%')";
} else {
$txt .= " AND (texto like '%$string[$i]%')";
$tit .= " AND (titulo like '%$string[$i]%')";
}
}}
else {
$txt = "(texto like '%".$_SESSION["busca"]."%')";
$tit = "(titulo like '%".$_SESSION["busca"]."%')";
}
$sqlbusca = "SELECT cidade,codigo,chamada_aginterior,entrada FROM noticias WHERE noar='y' AND ($txt) OR ($tit) ORDER BY entrada DESC";
Exemplo:
digito "Diretor DER" , ai usando o LIKE '%$string[$i]%' ele busca um monte de notícias nada haver por que na palavra 'Diretor' da frase "Diretor DER" ele busca as notícias que tenham "Diretora" também.
No caso da palavra DER, ele busca: venDER, perDER e assim por diante.
E ocorre quase o mesmo se usar o LIKE com o '%' só no começo e no fim.
Por isso gostaria de saber se existe uma directiva ou uma maneira de usar o LIKE, da qual ele busque somente as noticias que contenham as palavras Diretor e DER no mesmo texto, e que estejam sozinhas e não (relacionada) no começo, meio ou fim de uma frase usando qualquer um dos LIKES '%string%', '%string' ou 'string%'.
Ele não compara com "=" porque é tipo texto o campo, e por isso não funciona, só para ressaltar.
Por favor galera, peço gentilmente a ajuda de vocês OK.
Grato.