Leobreda.Net

HTML | DHTML | JavaScript | DOM | Ajax | Asp | Asp.net | PHP | Ms. SQL | MySQL

TAG cloud

.net     ajax     api     arquivo     array     asp     asp.net     banco de dados     bing     bloqueio     boas práticas     bug     c sharp     c#     c#     chart     classe     collate     collation     complemento     complementos     componente     conexão sql     connection string     css     cursor location     desativar programas     dom     erro cs0246     explorer     ferramenta de busca     firefox     ftp     função     global.asa     global.asax     google     gráfico     helicon     hospedagem ruim     hostphd     http 301     imagem     include     indexação     inicialização     insert     internet lenta     legendas     limit

Pesquisa por: collation

Implementando ferramenta de busca em seu site

asp, collate, collation, ferramenta de busca, sql

12 de outubro de 2008     21:56437 visitas

Este POST é ideal para quem está implementando alguma ferramenta de busca, semelhante à esta aqui que eu criei no Instituto Chiavenato.

 

1. Diferenças entre palavras com e sem acentuação

Digamos que você precisa trazer resultados SQL os usuários que mora no Estado de São Paulo.

SELECT * FROM USUARIOS WHERE ESTADO='São Paulo'

 

Mas e pra quem mora em cidade como Sao Paulo, sao paulo (em minúsculo mesmo), sáo paulo, são páulo, etc ?

Para isso existe o Collation LATIN1_GENERAL_CI_AI, na qual traz os resultados, indiferente se os mesmos possuem acentos ou não.

SELECT * FROM USUARIOS WHERE ESTADO COLLATE LATIN1_GENERAL_CI_AI LIKE 'São Paulo'

 

Este método é ideal mesmo quando já estabeleceu os Collations na contrução das tabelas.

 

2. O realce nas buscas

O usuário digitou "Lorem Ipsum" em sua ferramenta de busca. Surge então o seguinte resultado:

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum dolor sit amet, consectetuer adipiscing elit.

 

Para isso, é necessário saber sério???kkk o que o usuário digitou. Depois, dar um Replace com os parâmetros 1, -1, 1 na qual utiliza-se para não diferenciar caracteres

maiúsculos de caracteres minúsculos.

<%

DIGITADO = "Lorem Ipsum"

TEXTO = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum dolor sit amet, consectetuer adipiscing elit."

 

TEXTO_FINAL = Replace(TEXTO, DIGITADO, "<span style=""font-weight:bold;background-color:#ffff00;padding:1px 0px;"">" & DIGITADO & "</span>", 1, -1, 1)

 

Response.write TEXTO_FINAL

%>

 

Eu só ainda não achei uma solução para realçar palavras com ou sem acentuação.

2010 - Leonardo Breda