Ir para conteúdo

POWERED BY:

Arquivado

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

Erick_Aracaju

[Resolvido] Busca avançada PHP + MySQL

Recommended Posts

Para cadastrar os dados no BD MySQL uso um Insert Record Form Wizard da extensão Developer Toolbox instalada no DreamWeaver CS4.

No campo textarea adicionei o plugin TinyMce que salva os dados em ASCII, aqui começa o problema.

Mas observando um texto sobre uma função “TiraAcentos”.

Basta que eu faça o texto da busca chegar no recordset usando este replace:

 

Case "á"

Letra = "a"

Letra = replace(Letra,"a",[á,á]

 

Dessa forma, como consulto em dois campos, um que recebe os dados em ASCII e o outro não, o recordset poderá encontrar os resultados nos dois formatos.

No texto, a busca substituia o caracter acentuado por várias opções resultando numa busca completa a palavras com ou sem acentos.

No meu exemplo, gostaria de acrescentar o formato ASCII para ser procurado também. Se eu estiver certo, gostaria que me respondessem algumas dúvidas se possível.

Estou tendo dificuldades em passar o conteúdo do campo texto do formulário de busca para o recordset via Get usando a função.

Sem passar pela função o sistema funciona normalmente com a limitação de não encontrar certas expressões na coluna alimentada com ASCII.

 

Gostaria de saber se está correto o código abaixo caso fosse de interesse apenas o - á - :

 

<%

function TiraAcento(StrAcento)

for i = 1 to len (StrAcento)

Letra = mid(StrAcento, i, 1)

Select Case Letra

 

Case "á"

Letra = "a"

Letra = replace(Letra,"a",[á,á]

 

End Select

ProdutoAdmin = ProdutoAdmin & Letra

next

TiraAcento = ProdutoAdmin

end function

%>

 

Se sim, entre quais tags coloco a função e como ficaria o Select para buscar o resultado dela?

Veja o Select atual do sistema (não houve modificação para usar a função TiraAcentos):

 

SELECT *

FROM paginas

WHERE paginas.pagina_conteudo LIKE %nome% OR (paginas.pagina_nome LIKE %nome%)

 

Variables:

 

nome

 

Name: nome

Type: Text

Default Value: -1

Run-time Value: $_GET['ProdutoAdmin']

 

* onde ProdutoAdmin é oriundo do formulário de busca.

 

Obrigado pela atenção.

Erick

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui!

Basta setar o script do TinyMCE que fica na página html com a seguinte configuração:

 

tinyMCE.init({

mode : "textareas",

entity_encoding: "raw", <------------------------ Esta!

 

Dessa forma o TinyMCE lança os dados no BD com acentuação normal, inclusive o ç.

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.