Ir para conteúdo

POWERED BY:

Arquivado

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

celi

[Resolvido] Busca com, e sem acento

Recommended Posts

conforme suspeitava a StrBusca está vindo vazia por isso está pegando todos os registros

 

de onde está recuperando o valor desta variavel?

 

Entendi

 

Voce ta recuperando como StrAcento e depois usando StrBusca

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o procedimento de acordo com o post 14

Response.write(strSQL)
Response.end

e veja o que é retornado ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como está seu código agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

já estava com este

Response.write(strSQL)

Response.end

de acordo com o post 14 e o erro foi o que passei cedo pra vcs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode remover estas duas linhas

 

quero ver o código desta pagina para tentar identificar o erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja ae:

<% @Language = VBScript %><%session.LCID=1046%>

<%StrAcento= Request.QueryString("busca")

if StrAcento<> "" then

stringConexao = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & Server.MapPath("dados.mdb")

Set RsConexao = Server.CreateObject("ADODB.Connection")

RsConexao.Open stringConexao

strSQL = "SELECT * FROM Noticias WHERE Noticia LIKE '%"& StrBusca &"%'"

Set RS = RsConexao.Execute(strSQL) %>

<%

 

for i = 1 to len(StrAcento)

Letra = mid(StrAcento, i, 1)

Select Case Letra

Case "a","á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"

Letra = "A"

Case "e","é","É","ê","Ê","Ë","ë","È","è"

Letra = "E"

Case "i","í","Í","ï","Ï","Ì","ì"

Letra = "I"

Case "o","ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"

Letra = "O"

Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"

Letra = "U"

Case "ç","Ç"

Letra = "C"

Case "ñ"

Letra = "N"

End Select

texto = texto & Letra

next

TiraAcento = texto

 

%>

 

<body bgcolor="white" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">

<font face="Arial"><span style="font-size:10pt;">

<%While not RS.EOF

response.write ("<a href=""ver.asp?id=" & "" & RS("id") & """>" & RS("Resumo") & "</a>") & "<BR><BR>"

RS.MoveNext

Wend

end if

%>

</span><span style="font-size:12pt;"><b> </b></span></font>

Compartilhar este post


Link para o post
Compartilhar em outros sites

note aqui

 

strSQL = "SELECT * FROM Noticias WHERE Noticia LIKE '%"& StrBusca &"%'"

O nome da tabela é noticias, a coluna que você quer buscar dentro da tabela noticias realmente é noticia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu erro é definir uma variavel e usar outra

 

<% @Language = VBScript %><%session.LCID=1046%>

<%StrAcento= Request.QueryString("busca")

if StrAcento<> "" then

stringConexao = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & Server.MapPath("dados.mdb")

Set RsConexao = Server.CreateObject("ADODB.Connection")

RsConexao.Open stringConexao

strSQL = "SELECT * FROM Noticias WHERE Noticia LIKE '%"& StrBusca &"%'"

Set RS = RsConexao.Execute(strSQL) %>

<%

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é funcionou, mas se eu digitar a palavra sem acento tipo Jose não acha nada só fuciona com acento

Compartilhar este post


Link para o post
Compartilhar em outros sites

teste assim

 

<% @Language = VBScript %>
<%session.LCID=1046%>
<%

function TiraAcento(StrAcento)
for i = 1 to len(StrAcento) 
  Letra = mid(StrAcento, i, 1)
  Select Case Letra
   Case "a","á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"
   Letra = "A"
   Case "e","é","É","ê","Ê","Ë","ë","È","è"
   Letra = "E"
   Case "i","í","Í","ï","Ï","Ì","ì"
   Letra = "I"
   Case "o","ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"
   Letra = "O"
   Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"
   Letra = "U"
   Case "ç","Ç"
   Letra = "C"
   Case "ñ"
   Letra = "N"
  End Select
  texto = texto & Letra
next
TiraAcento = texto
end function

StrAcento = TiraAcento(Request.QueryString("busca"))
if StrAcento<> "" then
stringConexao = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & Server.MapPath("dados.mdb")
Set RsConexao = Server.CreateObject("ADODB.Connection")
RsConexao.Open stringConexao
strSQL = "SELECT * FROM Noticias WHERE Noticia LIKE '%"& StrAcento &"%'" 
Set RS = RsConexao.Execute(strSQL) 
%>
<body bgcolor="white" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">
<font face="Arial"><span style="font-size:10pt;"> 
<%While not RS.EOF
response.write ("<a href=""ver.asp?id=" & ""    & RS("id") & """>" & RS("Resumo") & "</a>") & "<BR><BR>"
RS.MoveNext
Wend
end if
 %>
</span><span style="font-size:12pt;"><b> </b></span></font>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim

 

<% @Language = VBScript %>
<%session.LCID=1046%>
<%
function preparaPalavra(str)
 preparaPalavra = replace(str,"a","[a,á,à,ã,â,ä]")
 preparaPalavra = replace(preparaPalavra,"e","[e,é,è,ê,ë]")
 preparaPalavra = replace(preparaPalavra,"i","[i,í,ì,î,ï]")
 preparaPalavra = replace(preparaPalavra,"o","[o,ó,ò,õ,ô,ö]")
 preparaPalavra = replace(preparaPalavra,"u","[u,ú,ù,û,ü]")
 preparaPalavra = preparaPalavra
end function

StrAcento = preparaPalavra(Request.QueryString("busca"))
if StrAcento<> "" then
stringConexao = "Provider=Microsoft.JET.OLEDB.4.0; Data Source=" & Server.MapPath("dados.mdb")
Set RsConexao = Server.CreateObject("ADODB.Connection")
RsConexao.Open stringConexao
strSQL = "SELECT * FROM Noticias WHERE Noticia LIKE '%"& StrAcento &"%'" 
Set RS = RsConexao.Execute(strSQL) 
%>
<body bgcolor="white" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">
<font face="Arial"><span style="font-size:10pt;"> 
<%While not RS.EOF
response.write ("<a href=""ver.asp?id=" & ""    & RS("id") & """>" & RS("Resumo") & "</a>") & "<BR><BR>"
RS.MoveNext
Wend
end if
 %>
</span><span style="font-size:12pt;"><b> </b></span></font>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você é o cara pow valeu mesmo nem acredito que agora funcionoooou muito obrigado msm acara valeu msm...

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.