Como criar enquete com PHP
Enquetes são recursos interessantes para aumentar a interatividade de sites com seus visitantes. Também é uma ferramenta poderosa para realizar pesquisas e obter feedback. Neste post, veja como criar enquete com PHP.
A enquete deste exemplo é composta de duas tabelas, uma para as perguntas (enquete) e outra para as respostas (respostas).
As estruturas SQL das tabelas são:
Para a tabela “enquete”:
INSERT INTO `enquete` VALUES (1,'Enquete');
Para a tabela “respostas”:
CREATE TABLE `respostas` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`enquetes_id` int(11) unsigned NOT NULL DEFAULT '0',
`resposta` varchar(255) DEFAULT NULL,
`votos` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`Id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
Código PHP:
//Dados para a conexão com o banco de dados
$servidor = 'localhost';
$usuario = 'root';
$senha = '12345';
$banco = 'nome_banco';
$link = mysql_connect($servidor, $usuario, $senha) or die('Não foi possivel conectar:
' . mysql_error());
$select = mysql_select_db($banco);
$_REQUEST["action"] = "voto";
//Verifica se o arquivo foi chamado a partir de um formulário
if($_REQUEST["action"] == "votar")//se a var. action passada via URL for igual a "votar"
{
/* CÓDIGO DE VOTAR */
//isset: para saber se uma variável existe
(retorna verdadeiro se existir e falso se não existir)
//verifica se o voto válido foi enviado ao servidor
if(isset($_POST["voto"]) && $_POST["voto"] != "")
{
$sql = "UPDATE respostas SET votos = votos + 1 WHERE Id = ".$_POST["voto"];
$result = mysql_query($sql);
}
$sql = "UPDATE respostas SET votos = votos + 1 WHERE Id = ".$_POST["voto"];
header("location: ?action=resultados"); //redireciona para visualizar os resultados
}
else if($_REQUEST["action"] == "resultados")
{
/* CÓDIGO DE VISUALIZAR OS RESULTADOS */
// Seleciona a enquete mais recente
$sql = "SELECT * FROM enquetes ORDER BY Id ASC LIMIT 1";
$result = mysql_query($sql);
if($tbl = mysql_fetch_array($result))
{
echo "".$tbl["enquete"]."";
// Navega pelas respostas, exibindo em ordem de votos
$sql = "SELECT * FROM resp WHERE enquetes_id = ".$tbl["Id"]." ORDER BY votos DESC";
$result = mysql_query($sql);
while($tbl = mysql_fetch_array($result))
{
echo "‹BR>".$tbl["resposta"]." (".$tbl["votos"]." votos)";
}
}
}
else //se variável action = 'voto' ...
{
/* CÓDIGO DE VISUALIZAR A ENQUETE */
// Seleciona a enquete mais recente
$sql = "SELECT * FROM enquetes ORDER BY Id ASC LIMIT 1";
$result = mysql_query($sql);
if($tbl = mysql_fetch_array($result))
{
echo "‹B>".$tbl["enquete"]."‹B>";
// Navega pelas respostas
echo "<FORM action='?action=votar' method='POST'>";
$sql = "SELECT * FROM respostas WHERE enquetes_id = ".$tbl["Id"]." ORDER BY Id ASC";
$result = mysql_query($sql);
while($tbl = mysql_fetch_array($result))
{
echo "<BR›<INPUT type='RADIO' name='voto' value='".$tbl["Id"]."'› ".$tbl["resposta"]."";
}
echo "<center›<BR›<INPUT type='SUBMIT' value='Votar'›</center›";
echo "</FORM›";
}
}
Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO.
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:
Link do curso: https://go.hotmart.com/A18082772K
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits