Array
(
)

Busca avançada PHP + MySQL

PHP
Erick Santos
   - 03 jul 2011

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",[á,&aacute;]
 
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

Erick Santos
   - 04 jul 2011

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",