http://mail.terra.com.br/postmaster/reverso.cgi
Continuando a primeira aula, vamos gerar a exibição da enquete.
Assista a video aula para entender cada arquivo, estou explicando detalhadamente.
Começando crie um arquivo chamado conexao.php
//este arquivo é responsavel pela conexao do banco de dados $host = "localhost"; $database = "enquete"; $login_db = "root"; $senha_db = "pass123"; $conexao = mysql_connect ($host, $login_db, $senha_db) or die ("Erro: ".mysql_error()); $db = mysql_select_db($database);
Agora vamos criar o arquvo enquete.php para mostrar nossa enquete.
A imagem abaixo mostra como será o resultado no final.
////////////////arquivo enquete_comentar.php
/* desenvolvido por Fabiano Bento http://www.fabianobento.com.br */ //arquivo CSS de estilos //java script para validar formulário
//verifica se existe a variavel ACT no GET if(isset($_GET['act'])){ $act = $_GET['act']; switch ($act) { case "escrever": echo "Escreva seu comentário!"; //cria o formulário e envia para o mesmo arquivo e seta avariavel act //termina o switct break; //verifica se o valor de ACT é igual a inc case "inc": //chama o arquivo de conexao com o banco require_once('inc/conexao.php'); $codigo_enquete = $_POST['codigo_enquete']; $ip = getenv('REMOTE_ADDR'); $provedor = gethostbyaddr($_SERVER['REMOTE_ADDR']); $datahora = date(" Y-m-d H:i:s"); $form_nome = $_POST['nome']; $form_email = $_POST['email']; $form_cidade = $_POST['cidade']; $form_uf = $_POST['uf']; $form_comentario = $_POST['comentario']; $form_btn_comentar = $_POST['btn_comentar']; $enqcStatus = "A"; //grava os dados dentro da tabela enquetes comentarios $sql = " INSERT INTO enquetes_comentarios (`enqcCodigo` ,`enqcCodEnquete` ,`enqcIpEnvio` ,`enqcProvedorEnvio` ,`enqcDtHrEnvio` ,`enqcNome` ,`enqcEmail` ,`enqcCidade` ,`enqcUF` ,`enqcComentario` ,`enqcStatus`)VALUES (' ', '$codigo_enquete', '$ip', '$provedor', '$datahora', '$form_nome', '$form_email', '$form_cidade', '$form_uf', '$form_comentario', '$enqcStatus')"; mysql_query("$sql"); echo ""; echo ""; break; } } ?> |
Tela do formulário do arquivo enquete_comentar.php
Explicando o conteudo e funcionamento de cada arquivo.
*Lembrando que o texto antes da barra é o nome da pasta.
enquete/inc/conexao.php - função que conecta no banco de dados
enquete/enquete.php - este arquivo mostra a enquete com as opções para votar e links para comentar e resultado
enquete/enquete_resultado.php - aqui mostra o resultado da enquete e comentários
enquete/enquete_comentar.php - este é o formulário para envio dos comentarios
enquete/enquete_votar.php - este arquivo recebe os dados do arquivo enquete.php e grava a opções escolhida no banco de dados
Nesta aula, vou ensinar com desenvolver um sistema de enquetes para ilimitadas enquetes.
Primeiro nos vamos criar o banco de dados e as tabelas para armazenar as enquetes, os votos, comentarios, e log de registros os votos.
Assista ao video para entender sobre cada coluna das tabelas
O SQL das tabelas;
//tabela enquetes CREATE TABLE IF NOT EXISTS `enquetes` ( `enqCodigo` int(10) NOT NULL AUTO_INCREMENT COMMENT 'codigo da enquete', `enqDtCadastro` date NOT NULL COMMENT 'data do cadastro', `enqNmEnquete` varchar(200) NOT NULL COMMENT 'pergunta da enquete', `enqOpcao1` varchar(150) NOT NULL COMMENT 'resposta 1', `enqOpcao2` varchar(150) NOT NULL COMMENT 'resposta 2', `enqOpcao3` varchar(150) NOT NULL COMMENT 'resposta 3', `enqOpcao4` varchar(150) NOT NULL COMMENT 'resposta 4', `enqOpcao5` varchar(150) NOT NULL COMMENT 'resposta 5', `enqOpcao6` varchar(150) NOT NULL COMMENT 'resposta 6', `enqOpcao7` varchar(150) NOT NULL COMMENT 'resposta 7', `enqOpcao8` varchar(150) NOT NULL COMMENT 'resposta 8', `enqOpcao9` varchar(150) NOT NULL COMMENT 'resposta 9', `enqOpcao10` varchar(150) NOT NULL COMMENT 'resposta 10', `enqVotos1` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 1', `enqVotos2` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 2', `enqVotos3` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 3', `enqVotos4` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 4', `enqVotos5` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 5', `enqVotos6` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 6', `enqVotos7` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 7', `enqVotos8` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 8', `enqVotos9` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 9', `enqVotos10` int(10) NOT NULL DEFAULT '0' COMMENT 'htis 10', `enqDtInicioExibicao` date NOT NULL COMMENT 'data inicio da exiicao', `enqDtFinalExibicao` date NOT NULL COMMENT 'data final da exibicao', `enqStatus` enum('A','I') NOT NULL DEFAULT 'A' COMMENT 'ativo ou inativo', PRIMARY KEY (`enqCodigo`,`enqNmEnquete`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os dados das enquetes' AUTO_INCREMENT=1 ; //tabela enquetes_comentarios CREATE TABLE IF NOT EXISTS `enquetes_comentarios` ( `enqcCodigo` int(20) NOT NULL AUTO_INCREMENT COMMENT 'codigo do comentario', `enqcCodEnquete` int(10) NOT NULL, `enqcIpEnvio` varchar(30) NOT NULL COMMENT 'ip do usuario', `enqcProvedorEnvio` varchar(150) NOT NULL COMMENT 'provedor do ip', `enqcDtHrEnvio` datetime NOT NULL COMMENT 'data e hora do envio', `enqcNome` varchar(40) NOT NULL COMMENT 'nome que quem enviou', `enqcEmail` varchar(60) NOT NULL COMMENT 'email de quem envu', `enqcCidade` varchar(150) NOT NULL, `enqcUF` char(2) NOT NULL, `enqcComentario` mediumtext NOT NULL COMMENT 'comentáro', `enqcStatus` enum('A','I') NOT NULL, PRIMARY KEY (`enqcCodigo`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os comentários das enquetes' AUTO_INCREMENT=1 ; //tabela enquete_log CREATE TABLE IF NOT EXISTS `enquetes_log` ( `enqlCodigo` int(30) NOT NULL AUTO_INCREMENT COMMENT 'codigo do envio', `enqlCodEnquete` int(10) NOT NULL COMMENT 'codigo da enquete', `enqlIpEnvio` varchar(30) NOT NULL COMMENT 'ip que enviou', `enqlDtHrEnvio` datetime NOT NULL COMMENT 'data e hora do envio', `enqlOpcao` varchar(5) NOT NULL, PRIMARY KEY (`enqlCodigo`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Entidade para os dados de log dos votos' AUTO_INCREMENT=2 ;