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 ;