Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wesley M. Barbosa

Busca usando propriedade LIKE do sql

Recommended Posts

Olá,

 

Estou com um problema aqui pra resolver em um site de cliente...

O cliente me passou algumas palavras para serem usadas como filtro, quando o usuario do site clicar em um determinado link.

O problema é que existe palvras filtro como por exemplo "bb, abn, banco do brasil" que muitas vezes ao execultar a função procurar(listarei abaixo), o resultado são textos do Banco de Dados que não tem nada a ver com as palavras filtro, pois essas palavras ou ate mesmo as letras, acabam se quebrando. Com isso a função LIKE procurar qualquer palavra com por exemplo(BBVA) que deveria ser somente 'BB', Ou (banco são o melhor negocio do brasil) que deveria ser somente 'banco do brasil'.

 

Espero respostas...

 

código usado:

<?
$filtro=$_REQUEST['filtro'];
$filtro2=$_REQUEST['filtro2'];
echo $filtro2;
================================================================================

====
$palavra = str_replace(" ", "%", $filtro);
$palavra2 = str_replace(" ", "%", $filtro2);
if($palavra2){
//echo $palavra2; 
$qr = "SELECT * FROM noticia WHERE texto LIKE '%".$palavra."%' or texto LIKE '%".$palavra2."%' order by data_noticia desc";
}else{
$qr = "SELECT * FROM noticia WHERE texto LIKE '%".$palavra."%' order by data_noticia desc";
}
$todos = mysql_query($qr) or die(mysql_error());
//echo $qr;
?>

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, sua consulta vem toda descacetada assim pq você usa o

 

 

'%'

 

 

que representa QUALQUER valor

 

Exemplo:

 

Select campo from tabela where campo like '%abc'

 

retorna QUALQUER coisa q termine com abc

 

 

 

Select campo from tabela where campo like 'abc%'

 

retorna QUALQUER coisa q comece com abc

 

 

 

o que eu sugiro pra você eh fazer consulta la sem '%' e uma UNION a outra consulta com % assim na hora de exibir o q "interessa" e eh mais preciso vem na frente, tipo o google

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.