Marcelo Oliveira (e-mail) trabalha com Dreamweaver desde 1999, possui a formação Macromedia
Dreamweaver Developer e coordena o DWMX.
Olá amigos do iMasters. Vamos, nesse artigo, criar um sistema de busca para um site, utilizando
PHP e um banco MySQL. No exemplo criaremos uma busca interna para o site DWMX. Como
todos sabem, sou colunista semanal iMasters e mantenho um projeto pessoal no ar que é o
DWMX. Esse banco terá palavras chaves correspondentes a artigos publicados, a data de sua
publicação, seu número e a URL.
Vamos começar criando nossa tabela (já vimos isso nos artigos anteriores) em nosso banco de
dados (htdocs):
Vamos criar um formulário para inserirmos dados dinamicamente em nossa tabela. Crie um arquivo
novo (inserir.php). Pela Barra Application, escolha Record Insertion Form Wizard.
1
No quadro que se abre, configure:
Em "Connection", o nome de seu banco de dados (htdocs). Em "Table", o nome de sua tabela.
Determine o nome do arquivo a ser carregado quando a inserção for feita "Afther inseting, go
to::" (inserido.php). Nos campos do formulário, altere somente a Coluna ID, alterando-a para
Hidden Field (Dispaly as:). Clique em OK e um formulário será criado:
2
Agora vamos inserir alguns registros nessa tabela:
Arquivo inserido.php:
Bem, já temos nosso banco, nossa tabela e nosso formulário de inserção de registros para nossa
busca interna. Vamos agora criar uma página para realizar a busca e outra aonde mostraremos o
resultado dessa busca.
3
Nesse formulário temos que configurar alguns detalhes. Primeiro, no campo texto devemos definir
um nome para o mesmo (busca). Nome esse que será nossa variável.
...Determine seu Method como "GET", pois nossa variável "busca" (nome do campo de texto) será
passada por URL e determine em "Action" = busca_resultado.php pois iremos redirecionar o
formulário para nossa página com o resultado, a qual daremos o nome de busca_resultado.php.
Bem, nosso formulário de busca já está pronto. Vamos finalmente criar uma página com o
resultado dessa busca (busca-resultado.php).
4
Crie um arquivo PHP novo, lembrando que nossa conexão ao banco já está configurada (vide
primeira parte do artigo). Crie um "Recordset Avançado" pelo Painel Bindings conforme imagem a
seguir:
5
Vamos terminar nossa Instrução SQL propriamente dita, para que nosso Recordset realize
corretamente a busca. Iremos fazer a busca em dois campos: "nome" e "descrição". Clique na
tabela tutorial_126 e selecione "nome" e clique em "WHERE".
6
.... E configurando da seguinte maneira:
Note que dei o mesmo nome para variável do campo text-field em nosso arquivo. Como estamos
tratando do campo nome, quero que, quando eu digitar qualquer caractere, a busca seja realizada.
Então, pelo SQL, usaremos a cláusula LIKE da seguinte maneira:
LIKE "%%busca%%"
Lembrando que desejo também que seja realizada a busca no campo "descrição". Então voltamos
na tabela tutorial_126, campo "descrição" e vamos em "WHERE". Só que, note a instrução SQL...
Não quero que procure no campo "nome" e (AND) no campo "descrição". Quero que procure no
campo "nome" ou (OR) no campo "descrição". Troque AND por OR.
7
Finalizando, vamos criar uma tabela para mostrarmos o resultado de nossa busca. Após criada a
tabela, inserimos os campos em suas respectivas colunas...
...E aplicamos o Server Behavior: Repeat Region, selecionando a linha (tag tr) e pelo Painel Server
Behavior > Repeat Region. Não se esqueça de escolher "All records".
Resultado:
8
Para fazer com que o registro digitado no campo "url" seje um link, vá no arquivo
busca_resultado.php e edite a linha 33:
Da seguinte maneira:
Essa segunda parte do artigo foi praticamente escrita pelo amigo Leandro Vieira. Eu simplesmente
adaptei alguns detalhes. Um abraço a todos.