Edilene 0 Denunciar post Postado Agosto 21, 2003 Boa Tarde, Preciso de algo que busque 2 ou mais palavras separada em 2 campos do banco de dados..Hoje consigo fazer a busca com uma palavra em um campo.Ex: Busca: esteira eletricaA busca tem que achar a palavra esteira e depois eletrica em um campo e depois em outro campo.Será que deu para explicar direito?? Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Agosto 22, 2003 A palavra precisa está nos dois campos ao mesmo tempo ou pode tá em um e não tá no outro? Compartilhar este post Link para o post Compartilhar em outros sites
Edilene 0 Denunciar post Postado Agosto 22, 2003 Isso, as duas palavras pode acontecer de estar em um campo e no outro nao.é que na minha busca eu vou procurar no campo nome e descricao.as vezes a palavra ja está no nome e muitas vezes está na descricao. Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Agosto 23, 2003 Fazer sistemas de busca eh uma coisa bem chatinha! Porque usar like '%$string%' não funciona, pois se você procurar por "testando 123" e no banco tiver "123 testando" ñão vai achar. O jeito é sair fazendo loop que gera vários 'anagramas' de uma mesma string. Quando a questão de buscar em dois campos diferentes, a solução é mais simples do que parece.. é só usar or (ou)!! Deixando pra la o que eu disse logo acima ficaria Where (Descricao like '%$key%' or Titulo like '%$key%') Espero ter ajudado... Compartilhar este post Link para o post Compartilhar em outros sites
whoami 0 Denunciar post Postado Agosto 24, 2003 sendo $string a string de busca:$string = strtr($string, " ","%"); //isso vai trocar os espaços em branco pelo curinga.. o q você pode fazer tb eh tentar separar todas as palavras (trocando os espaços por um pedaço da query)... Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Agosto 24, 2003 Mas isso não resolve o problema da ordem das palavras na string. Compartilhar este post Link para o post Compartilhar em outros sites
whoami 0 Denunciar post Postado Agosto 24, 2003 eu sei...isso vai resolver o problema dos espaços... tipo, se abd e def estiverem separados por um espaço ou naum...o q ela pode fazer eh uma função q aumente a query (colocando "OR campo LIKE '$palavra"), onde $palavra eh uma variável com o primeiro intervalo entre espaços " "... Compartilhar este post Link para o post Compartilhar em outros sites
ZehOliveira 0 Denunciar post Postado Agosto 25, 2003 bom... anagrama? se o cara procurar por polvilho e no banco tiver ohplvoil, ele retornara... entao nao eh anagrama.... Perfeito.Exatamente por isso que eu coloque 'anagrama', entre aspas simples. Foi apenas uma analogia, querendo dizer que a solução não funcionaria caso as ordens das palavras na string seja diferente da original. Em relação ao uso do explode pra quebrar a string e gerar vários 'OR', essa aparentemente é a solu~ção mais acessível... mas a perfomance ficaria muito ruim caso a quantidade de dados e o numero de palavras na string for alto. Compartilhar este post Link para o post Compartilhar em outros sites