|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Crie seu próprio buscadorPropomos um buscador básico para implementar em seu website, além de lhe mostrar funções para o tratamento de variáveis tipo cadeia que podem ser muito úteis para outras aplicações . Quando trabalhamos com sites baseados em bancos de dados e nossos conteúdos começam a crescer, pode ser muito prático para o navegante poder recorrer a um formulário no qual possa introduzir palavras-chaves e operadores que lhe ajudem a matizar o elemento que estiver buscando. Este tipo de campo pode ser visto em uma infinidade de páginas e, embora sejam distintos em seu funcionamento em muitos casos, todos têm algo em comum: tratam-se de programas que permitem processar uma variável do tipo cadeia e transforma-la em uma ordem de busca para o banco de dados.
Neste artigo vamos propor duas funções que, usadas conjuntamente, permitem a criação de uma instrução SQL. O script permite especificar quais serão os campos de busca e dentro de que tabela a realizaremos. Este programa deverá ir combinado com outro pequeno script de colheita de dados por formulário como os vistos em nosso manual de ASP a partir do qual obteríamos a variável cadeia introduzida pelo internauta. Estas duas funções podem ser utilizadas diretamente para cada caso particular a condição de especificar os campos de busca no array campos, especificar a tabela e modificar a função gerasql para que realize a seleção dos campos que desejarmos. Neste caso, com o objetivo de facilitar a compreensão simplificamos ao máximo as funções que o buscador pode realizar. Na verdade, o buscador só tratará campos usando o operador like. Por outro lado, empregará unicamente como operadores "+" e "-". Todo tipo de modificações mais ou menos complexas, podem ser introduzidas de forma a melhorar sua versatilidade: -Emprego de parênteses para maior eficácia dos operadores -Eliminação de seqüências repetidas como "++" ou "--" -Eliminação de operadores no princípio e final da cadeia -Utilização de curingas... Passamos agora a mostrar a lista para poder comentá-lo mais detalhadamente a seguir:
Como dissemos, o script consta principalmente de duas funções. A primeira delas, tirar, se encarrega de tratar a cadeia para separar as palavras e, tendo em conta os operadores, construir o fragmento final da sentença SQL. A busca se realiza dentro de uma série de campos que são definidos ao exterior da função em forma de array. Nesta função se empregam diferentes funções de tratamento de variáveis de tipo cadeia, as quais explicamos a seguir:
É interessante observar a técnica de recursividade que se utiliza para decompor a cadeia principal em palavras independentes. Esta técnica se baseia em que função tirar se chama a si mesma para cada uma das sub-cadeias da cadeia principal. A parte dessa pequena astúcia o resto da função é de leitura fácil. A segunda função, gerasql, se encarrega de acrescentar ao fragmento final tabela e o tipo de seleção que queremos realizar. Neste caso foram selecionados como resultado todos os campos da tabela, mas evidentemente, isto não tem porquê ser assim. A última parte do script consiste na especificação dos campos dentro dos quais desejamos realizar nossa busca. A observar que o array há de ter uma longitude maior ao número de campos para o correto funcionamento do programa.
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada
Manuais relacionados com este artigo Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em ASPComentários dos visitantes Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |