Categorias

Script para votação em PHP e MySQL

1. Criando o arquivo para votar:

Cria um ficheiro html e escreve a tua pergunta e respostas como
no exemplo seguinte:



votação


Qual a sua base de dados preferida?
MySQL
msSQL
PostgreSQL
ODBC

2. Criando a tabela no MySQL:

Na shell do MySQL digite após selecionar uma Base de Dados escreva o seguinte código:

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

Muito bem, a tabela foi criada e está pronta a usar. Para continuar, da mesma forma que criamos a tabela vamos agora inserir os seguintes códigos para adicionar as opções na tabela:

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");

Repara que só são adicionadas a descrição e os votos, mas não o ID, justamente
porque quando a tabela foi criada foi designada a função de AUTO_INCREMENT, o que fará com que ela automaticamente incremente o valor.

3. Criar o PHP que fará todo o trabalho:

Cria um ficheiro chamado votação.php e dentro dele coloque o seguinte código que será explicado detalhadamente:

 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 "

" . $pergunta . "

"; 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 "" . $objet[$i]->opcao . " " . $objet[$i]->descricao . " " . $objet[$i]->votos . "
"; $tot_vt += $objet[$i]->votos; // tudo isto serve para requisitar o resultado de cada opção e exibir no écran } echo "Total de votos:" . $tot_vt . "   Sua Escolha:" . $escolha . "
"; } ?>

E aqui termina o tutorial de como fazer uma votação, claro, que podes e deves modificar o layout da votação, adaptar para que seja permitido apenas um voto por dia (usando cookies), etc, etc, etc….