Retorna Valor Da Busca Em Destaque
#1
Posted 04/09/2003, 01:18
quando se procura algo aqui no fórum.
Dentro do post, a palavra da busca fica em vermelho , em destaque.
por exemplo:
Busca: tutoriais
após a busca:
Tudo bem eu até ja havia chegado a essa conclusão, porém, não sei como fazer isso. Só encontro tutoriais e exemplos de fazer um Upload de arquivo, que não me interessa, Pois quero tutoriais, mais especificos.
#2
Posted 04/09/2003, 08:16
request.querystring=("busca")
cor_normal="<font color=000000>" & busca & "</font>
cor_destaque="<font color=ff0000>" & busca & "</font>
'msg = resultado da busca
replace(msg, cor_destaque, cor_normal)
#3
Posted 05/09/2003, 04:15
O SCRIPT que passou deu certo, se eu buscar por apenas uma palavra e digitar ela exatamentedentro do loop pra exibir os codigos faça algo do tipo
request.querystring=("busca")
cor_normal="<font color=000000>" & busca & "</font>
cor_destaque="<font color=ff0000>" & busca & "</font>
'msg = resultado da busca
replace(msg, cor_destaque, cor_normal)
Pois a busca que estou fazendo busca a palavra no ACCESS sem acento e transformo em minuscula
e se por acaso no script que passou eu digitar Acertar ele fiferencia acetar, na hora de colorir a palavra busca.
Busca com varias palavras e tirando o acento.
Esta funcionando bem!
<% Dim busca busca = request.form("busca") busca = LCase(busca) 'deixa em minuscula '############# TIRA ACENTOS ###################### Acentos = Replace(busca,"a","[a,á,à,ã,â,ä]") 'tira acentos Acentos = Replace(Acentos,"e","[e,é,è,ê,ë]") Acentos = Replace(Acentos,"i","[i,í,ì,î,ï]") Acentos = Replace(Acentos,"o","[o,ó,ò,õ,ô,ö]") Acentos = Replace(Acentos,"u","[u,ú,ù,û,ü]") Acentos = Replace(Acentos,"c","[c,ç]") busca = Acentos '############# FIM ACENTOS ###################### busca = trim(busca) if busca <> "" then Dim conn Dim RS Dim SQLr Set Conn= server.createobject("adodb.connection") conn.Open "PROVIDER=MSDASQL; DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("database/db_jogo.mdb") Set RS= Server.CreateObject("ADODB.Recordset") SQL = "SELECT * FROM jogos WHERE " dim espaco dim cada_palavra dim comp dim retirar do until instr(1,busca,chr(32)) = 0 espaco = instr(1,busca,chr(32)) cada_palavra = left(busca,espaco-1) SQL = SQL & "(id LIKE '%"&cada_palavra&"%' or nomeativ LIKE '%"&cada_palavra&"%' or ramo LIKE '%"&cada_palavra&"%' or objetivo LIKE '%"&cada_palavra&"%' or descricao LIKE '%"&cada_palavra&"%' or material LIKE '%"&cada_palavra&"%' or tipo1 LIKE '%"&cada_palavra&"%' or tipo2 LIKE '%"&cada_palavra&"%' or estilo1 LIKE '%"&cada_palavra&"%' or estilo2 LIKE '%"&cada_palavra&"%' or estilo3 LIKE '%"&cada_palavra&"%') and " comp = len(busca) retirar = comp - espaco busca = right(busca,retirar) loop SQL = SQL & "id LIKE '%"&busca&"%' or nomeativ LIKE '%"&busca&"%' or ramo LIKE '%"&busca&"%' or objetivo LIKE '%"&busca&"%' or descricao LIKE '%"&busca&"%' or material LIKE '%"&busca&"%' or tipo1 LIKE '%"&busca&"%' or tipo2 LIKE '%"&busca&"%' or estilo1 LIKE '%"&busca&"%' or estilo2 LIKE '%"&busca&"%' or estilo3 LIKE '%"&busca&"%' " SQL = SQL & " ORDER BY nomeativ asc" RS.Open SQL, conn, 3 %>
a parte de listar o conteudo da busca
<% if RS.EOF Then %> <% do while NOT RS.EOF %> <table <% = RS("criacao")%> </table> <% RS.MoveNext loop end if RS.Close Set RS = Nothing Conn.Close Set Conn = Nothing %> <%else%> Não foi digitado nenhum valor para a busca <%end if%>
#4
Posted 26/11/2007, 16:53
e surgiu uma duvida, como fazer para quando o usuário procurar "praca" encontre tanto "praca" quanto "Praca", pois atualmente a minha busca está case sensitive.
Tecnologia, blogosfera, monetização , ASP, Javascript, Webstandards...
Vagas para os profissionais da web
#5
Posted 27/11/2007, 09:17
desculpa reviver o topico mas tava dando uma olhada nesse codigo que dá replace nos caracteres e talz...
e surgiu uma duvida, como fazer para quando o usuário procurar "praca" encontre tanto "praca" quanto "Praca", pois atualmente a minha busca está case sensitive.
O que você precisa é usar Lcase (ou Ucase, tanto faz..) na sua busca. Exemplo da função:
<% nome = "PaLaVrA CoNsUlTa" response.write "Sem nada: " & nome & "<BR>" response.write "LCase: " & Lcase(nome) & "<BR>" response.write "UCase: " & Ucase(nome) & "<BR>" %>
Use a mesma lógica no banco de dados. Ao pegar os dados, coloca junto o Lcase e para a tabela do BD tb. Exemplo:
<% texto = Lcase(request.form("texto")) sql = "Select * from teste Where Lcase(palavra) = '"& texto &"'" set rs = sua_conexao.execute(sql) if rs.eof then response.write "Nada encontrado" else response.write "Palavra encontrada" end if rs.close set rs = nothing %>
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.
#6
Posted 28/11/2007, 13:08
entao se no banco tiver o texto em maiusculas, vai dizer que o texto procurado n foi encontrado... n eh isso?
keria 1 jeito para q o conteudo do banco n fosse case sensitive, q o texto procurado fosse encontrado no banco sendo em maiusculo ou minusculo.
Tecnologia, blogosfera, monetização , ASP, Javascript, Webstandards...
Vagas para os profissionais da web
#7
Posted 28/11/2007, 15:34
Testa...
Repara nesta parte do código:
texto = Lcase(request.form("texto")) sql = "Select * from teste Where Lcase(palavra) = '"& texto &"'"
Nota que não é apenas o request.form que está com LCASE, mas o WHERE Lcase(palavra) também.
Ou seja, ele vai pegar o que foi digitado no form, transformar em minúsculas e na hora de fazer Where vai comparar com o valor gravado no DB já em minúsculas também.
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.
#8
Posted 28/11/2007, 16:34
agora que percebi que esse é um comando SQL e nao ASP... na verdade eu nem sabia que existia esse comando em SQL =S
brigadao pela dica, vo tentar agora!
Abraços!
*update
funcionou perfeitamente, brigadão galera!
Edição feita por: yogodoshi, 28/11/2007, 17:26.
Tecnologia, blogosfera, monetização , ASP, Javascript, Webstandards...
Vagas para os profissionais da web
#9
Posted 28/11/2007, 16:42
resultado = replace(RS("table_field"),request.form("text_busca"),"<b>" & request.form("text_busca") & "</b>") response.write LCase(resultado)
nesse caso eu coloquei a palavra em destaque por negrito, mas vc pode colocar qqr outra tag de formatação no lugar do <b>, inclusive as de CSS.
#10
Posted 28/11/2007, 22:34
Abraços! E de novo, obrigadão galera!
Tecnologia, blogosfera, monetização , ASP, Javascript, Webstandards...
Vagas para os profissionais da web
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)