Ir para conteúdo

POWERED BY:

Arquivado

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

Nany GTD

Problema com Busca

Recommended Posts

Olá,

Estou fazendo uma busca de produtos, em php com banco mysql.

 

O charset das páginas está como utf-8 e o do banco utf8_general_ci, quando faço uma busca com a palavra atenção, não retorna nada, pois no banco está gravado como atenção

 

 

Já tentei seguir orientações de outros tópicos como utf8_decode(), utf8_encode(), htmlentities() e algumas coisa deste tipo: http://www.php.net/manual/pt_BR/function.htmlentities.php#82678 e nada funcionou...

 

Alguém sabe o que mais posso fazer?

 

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grave atenção invés de atenção em seu banco de dados, assim nunca terá problemas.

 

mas isso funciona perfeitamente desde que esteja no sql

 

LIKE = '%". htmlentities($str, ENT_QUOTES) .'%"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu SQL está da seguinte maneira, com o que você sugeriu:

 

"SELECT * FROM produtos WHERE status_produto=1 AND nome_produto LIKE '%.htmlentities($campoBusca, ENT_QUOTES).%' ORDER BY id_produto DESC";

 

Mas não deu certo ainda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só 1 detalhe, desse jeito que você está gravando no banco, ou seja, atenção assim atenção, se no campo de busca o usuário digitar sem acento, por exemplo atencao, não irá encontrar. O melhor seria você armazenar no banco como atenção.

 

Veja se não é isto que está acontecendo, pois a sugestão do WDuarte era para funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe alguma maneira de converter quando o usuário escrever no campo de busca atenção, converter em atenção para que ele encontre resultados?

 

Entendi que a melhor maneira seria gravar anteção no banco, mas estou com milhares de registros no banco até o momento...

Compartilhar este post


Link para o post
Compartilhar em outros sites

se no campo de busca o usuário digitar sem acento, por exemplo atencao, não irá encontrar.

Realmente isso é fato, agora o que você pode fazer e regravar os dados do banco utilizando a função

 

html_entity_decode()

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.