Idioma:

Sistema de votación en línea en PHP y MySQL

11 Febrero 2011 | En Web | 2,7 mil vistas | Por

Haga clic en & compartir: 


Este tutorial le enseñará a hacer una encuesta en PHP. Esta votación tendrá sólo una opción como ejemplo.

1. Crear o arquivo para votar:

Crear un archivo html y escribir sus preguntas y respuestas como
en el ejemplo siguiente:

<HTML>
<HEAD>
<TITLE>votação</TITLE>
</HEAD>
<BODY>
<FONT SIZE="3">Qual a sua base de dados preferida?</FONT><BR>
<FORM NAME="votação" ACTION="votacao.php" METHOD="get">
<INPUT TYPE="radio" NAME="escolha" VALUE="1">MySQL<BR>
<INPUT TYPE="radio" NAME="escolha" VALUE="2">msSQL<BR>
<INPUT TYPE="radio" NAME="escolha" VALUE="3">PostgreSQL<BR>
<INPUT TYPE="radio" NAME="escolha" VALUE="4">ODBC<BR>
</FORM>
</BODY>
</HTML>

2. Crear una tabla en MySQL:

Introduzca después de seleccionar un tipo de base de datos en el código siguiente en el shell de MySQL:

CREATE TABLE votacao (id INT(2) NOT NULL auto_increment primary key, descricao CHAR(50), votos CHAR(4));

Muy bien, la tabla se ha creado y está lista para usar. Para continuar, de la misma manera como crear tabla ahora insertamos relicario los códigos siguientes para agregar las opciones de la tabla:

INSERT INTO votacao (descricao,votos) VALUES ("MySQL","0");
INSERT INTO votacao (descricao,votos) VALUES ("msSQL","0");
INSERT INTO votacao (descricao,votos) VALUES ("PostgreSQL","0");
INSERT INTO votacao (descricao,votos) VALUES ("ODBC","0");

Reparaciones que sólo agregan votos y descripción, pero no el ID, precisamente
porque cuando se creó la tabla estaba designada la función AUTO_INCREMENT, Lo que hará que automáticamente incrementa el valor.

3. Crear el PHP que hará cada trabajo:

Crea un archivo llamado votação.php y lugar el siguiente código dentro de lo que se explicará en detalle:

<?
if ($escolha != "") { // Verifica se foi inserido um voto e prossegue em frente no caso de verdade
// Variáveis a serem alteradas
$mysql_host = ""; // local do servidor MySQL
$mysql_user = "": // utilizador do MySQL
$mysql_pass = ""; // senha do utilizador do MySQL
$mysql_dtbs = ""; // base de dados onde a tabela foi criada
$num_resp = ""; // número de opções na tua votação
$pergunta = ""; // pergunta da votação
// Nada mais a ser alterado
$mysql_conx = mysql_connect($mysql_host,$mysql_user,$mysql_pass);
// ligação ao MySQL
$radio = $num_resp + 1;
// para uso posterior
mysql_select_db($mysql_dtbs);
// seleciona a base de dados
// aqui começa todo o trabalho do PHP para actualizar a base de dados
$query_upd = "SELECT * FROM votacao WHERE id=$escolha";
$resul_upd = mysql_query($query_upd);
// aqui o PHP selecciona apenas os registos que coincidem com a escolha, neste
// caso so uma opção
$obj_upd = mysql_fetch_object($resul_upd);
// o comando mysql_fetch_object() separa os resultados de uma query por colunas
// neste caso, $obj_upd -> descrição da opção que o utilizador votou
$vot_upd = $obj_upd->votos;
$vot_upd++;
// separa só os votos e adicinona mais um voto
$upd_upd = "UPDATE votacao SET votos=$vot_upd WHERE id=$escolha";
mysql_query($upd_upd);
// atualizou a base de dados
// Agora o PHP fará a pesquisa na base de dados e retornará as opções, seus
// respectivos votos, total de votos e a sua escolha.
echo "<H3>" . $pergunta . "</H3>";
for($i=1;$i<$radio;$i++) {
$query[$i] = "SELECT * FROM votação WHERE id=$i";
$resul[$i] = mysql_query($query[$i]);
$objet[$i] = mysql_fetch_object($resul[$i]);
echo "<FONT FACE="Verdana" SIZE="1"><B>" . $objet[$i]->opcao . "</B> " . $objet[$i]->descricao . "<B> " . $objet[$i]->votos . "</B><BR>";
$tot_vt += $objet[$i]->votos;
// tudo isto serve para requisitar o resultado de cada opção e exibir no écran
}
echo "<FONT SIZE="1"><B>Total de votos:</B>" . $tot_vt . "&nbsp;&nbsp;&nbsp;<B>Sua Escolha</B>:" . $escolha . "</FONT></FONT>";
}
?>

Y aquí termina el tutorial de cómo hacer una votación, Claro, Se puede y se debe modificar el diseño de la votación, adaptarse para permitir sólo un voto por día (uso de cookies) etc..

En Ivaiporã-PR, Ingeniero informático, Administrador del grupo de trabajo consejos en General. Apasionado de la tecnología y la informática.



Un poco sobre nosotros

    Generalmente, el grupo apareció en consejos 2007 de ideas innovadoras sobre problemas que enfrentan diariamente por aquellos que utilizan la ciencia tecnología y equipo, los usuarios normales y técnicos. Pero donde hizo, ¿por qué y cuál es el propósito de este sitio?

Haga clic aquí para leer!

Siga o Dicas em Geral no Google+

Video de la semana