Jump to content


Photo

Busca Igual Do Google!


  • Faça o login para participar
2 replies to this topic

#1 Firmino

Firmino

    Turista

  • Usuários
  • 58 posts
  • Sexo:Não informado
  • Localidade:Araçatuba-SP
  • Interesses:webdesign

Posted 03/01/2006, 16:38

Ola pessoal!!

fiz uma busca muito legalzinha que busca as noticias do site, ela busca tanto com uma única palavra, como também varias! se digitar

( Assassinato em Araçatuba ) ela vai buscar tudo que for relacionado a cada palavra da frase e também a frase inteira, mas eu queria também que ela fizesse igual o Google.

Quando digitasse entre "aspas" por exemplo: "Assassinato em Araçatuba" que buscasse somente as noticias com esse conteudo total entendem! e não estou conseguindo!

Por favor gostaria de uma ajuda de vocês OK!!!


grato.
" Não existe vitória, se não ha luta. "

#2 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 03/01/2006, 17:22

Faça assim:
$query = "SELECT * FROM tabela WHERE ";
if(stristr($FraseDigitada, '\"') === FALSE)
{
    $palavras = explode(" ", $FraseDigitada);
    $x = 0;
    foreach($palavras as $busca)
    {
        if($x == 0)
            $query .= "nome LIKE = '%$busca%'";
        else
            $query .= " OR nome LIKE = '%$busca%'";
    }
}
else // PARTE 2
{
    $query .= "nome LIKE = '%$FraseDigitada%'";
}

// agora é só fazer a busca
// ...

O que fiz:
Bom, basicamente verifique antes se encontro ASPAS na frase de busca. Se encontrar eu faço a busca facilmente (PARTE 2).
Agora, se não encontrar eu "quebro" as palavras (explode()) e busca por elas no campo nome.

Deu pra compreender?
Sinceramente não sei se irá funcionar... massssss ta ai :D

FLW

Edição feita por: paes, 03/01/2006, 17:22.

Site: GustavoPaes.net

^ Rumo ao Topo ^

#3 kartesus

kartesus

    ich bin der Geist der stets verneint

  • Usuários
  • 210 posts
  • Sexo:Não informado
  • Localidade:Rio Grande do Sul
  • Interesses:PHP e sexo

Posted 04/01/2006, 05:09

A performance pode ser melhorada usando o banco de dados pra fazer a busca!!
O indice FULL-TEXT do mysql cuida da busca pra ti, tu pode usar aspas ou - na frente pra excluir da busca

http://dev.mysql.com...ext-search.html
Ainda com dúvidas? Poste-as aki




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq