Pesquisa é zás-trás!
Automatize a criação de pesquisas para seu site com o MySQL e programas em PHP
Da Redação
Publicado em 9 de outubro de 2008 às 12h28.
Você é webmaster e periodicamente inclui pesquisas em seu site para interagir com os visitantes. Mas, toda vez que é preciso colocar nova pesquisa no ar, você tem de repetir a mesma série de procedimentos. E se você criasse uma aplicação para automatizar a produção de pesquisas? Este é o tema de nosso tutorial. Vamos montar uma aplicação que organiza pesquisas com várias perguntas de múltipla escolha. A aplicação tem três partes: um banco de dados; programas que manipulam o banco de dados e geram novas pesquisas; e o código HTML, produzido durante a criação de cada nova pesquisa. Esse código vai para a página web e define o que o internauta verá no site.
Para desenvolver esse projeto, você precisa ter acesso a um servidor web, Apache ou IIS, no qual estejam instalados a linguagem de scripts PHP e o banco de dados MySQL. A aplicação tem uma interface de administração, por meio da qual o webmaster cria, modifica e elimina pesquisas. Na tela principal, existe um link, Nova Pesquisa, que, logicamente, dá início à criação de uma pesquisa. Na mesma tela são mostrados os nomes das pesquisas já criadas. Ao lado de cada um deles há uma caixa que deve ser marcada quando o webmaster quiser apagar a pesquisa. Há ainda um ícone com um sinal de interrogação. Um clique nele abre uma janela com a previsão da pesquisa. O nome da pesquisa também é um link. Quando clicado, ele abre a estrutura da pesquisa para modificação.
Com o acionamento do link Nova Pesquisa, abre-se a segunda tela de administração. Nela, deve-se digitar o nome da pesquisa e o número de perguntas (de 1 a 5) que ela terá. Em seguida, com base no número de perguntas, o programa exibe a mesma tela repetidas vezes. Em cada vez, o webmaster deve digitar a pergunta e o número de opções para o tópico. O nome da pesquisa é um item administrativo: serve apenas para controle do webmaster. A próxima tela exibe o título e as perguntas da pesquisa, cada uma acompanhada de campos para a digitação das opções.
Concluída essa etapa, a pesquisa está pronta. A aplicação exibe uma janela mostrando como o visitante do site verá a pesquisa. Entre os comandos HTML dessa janela está o código da pesquisa. O webmaster deve copiá-lo e incluí-lo em seu site. A última tela da aplicação exibe o resultado da pesquisa, em valores percentuais e num gráfico de barras. O internauta chega a essa tela pela votação ou clicando no link Resultados. Esse mesmo processo pode se repetir indefinidamente para qualquer número de pesquisa.
Vimos o funcionamento externo da aplicação. Passemos agora para os bastidores. No servidor web, você deve criar um diretório para armazenar o banco de dados MySQL e os scripts em PHP. O banco de dados contém apenas três tabelas: pesquisas, perguntas e opcoes. A primeira tem três campos: ID_pesq, título e chamada. ID_pesq é um número único que identifica cada pesquisa. O título e a chamada, já vimos, são o nome da pesquisa e cada pergunta básica. Todas as três tabelas incluem o campo ID_pesq, que é o eixo principal do relacionamento entre elas. A tabela opcoes tem ainda os campos opcao (texto da alternativa de votação), posicao (o número de ordem da alternativa), votos (que armazena os votos de cada opção) e ID_pergunta (posição da pergunta na pesquisa). Por fim, a tabela perguntas tem dois campos de relacionamento (ID_pesq, já citado, e ID_pergunta), mais o campo pergunta.
Arquivos PHP
No programa desenvolvido pelo INFOLAB, o número de alternativas em cada pergunta está limitado a 10 e o texto de cada opção não deve exceder 60 caracteres. A programação está contida em seis arquivos PHP. O bloco admin.php garante o funcionamento da tela inicial; functions.php armazena funções comuns a todas as páginas da aplicação; manage.php responde pelas tarefas de inclusão, exclusão e alteração das pesquisas. Há ainda o arquivo logar.php, que exige um login do webmaster, para proteger o acesso ao sistema (o nome e a senha iniciais são "admin" e "admin"). Os dois últimos blocos são pesquisas.php e results.php. O primeiro gera o código que vai para a página web. O segundo faz a contagem de votos e apresenta os resultados.
Um truque interessante: o gráfico de barras é traçado com pequenas imagens GIF coloridas. Como o GIF fica dentro de uma célula de tabela, ele é "esticado" para ocupar, na célula, a porcentagem correspondente aos votos da opção. Criado o banco de dados e instalados os arquivos PHP, o webmaster não precisa mais mexer no sistema. Seu único trabalho, agora, resume-se a digitar as perguntas e opções e depois coletar o código gerado pelo programa e incluí-lo na página do site. Para copiar o código, basta ir à tela de previsão da pesquisa e dar o comando Exibir Código-Fonte. Dois trechos devem ser copiados. Eles estão marcados no texto HTML. Além disso, é preciso incluir, na tag body da página, o parâmetro:
onload="JavaScript:manda_cookie( )"
Esse parâmetro chama uma função que escreve um cookie no micro do visitante. O cookie é usado para controlar se o visitante já votou na pesquisa. Todo o código da aplicação está disponível no site de INFO: ftp.uol.com.br/info/autopesquisa.zip.