Categorias

Sistema de votação online em PHP e MySQL

Este tutorial vai ensinar a fazer uma votação em PHP utilizando mySQL.
Este votação será só de apenas uma escolha.

1. Criando o arquivo para votar: 
  
Cria um arquivo 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 criá-mos 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 arquivo chamado votação.php e dentro dele coloque o seguinte código que será explicado detalhadamente: 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 atualizar a base de dados $query_upd = "SELECT * FROM votacao WHERE id=$escolha"; $resul_upd = mysql_query($query_upd); // aqui o PHP seleciona 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 "

" . $pergunta . "

"; for($i=1;$i" . $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 na tela } echo "Total de votos:" . $tot_vt . "   Sua Escolha:" . $escolha . ""; } ?> //Pronto agorá é só testar! //Abraços