Ir para conteúdo
  • Cadastre-se

[Tutorial] Sistema de votaçao online em PHP e MYSQL


Posts recomendados

Sistema de votação online em PHP e MySQL

 

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

 

 

1. Criando o arquivo para votar:

 

Cria um ficheiro html e escreve a tua pergunta e respostas como

no exemplo seguinte:

 

<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. 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 ficheiro 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 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 . "   <B>Sua Escolha</B>:" . $escolha . "</FONT></FONT>";

}

?>

 

 

Creditos:Egonfelipe

Creditos:truquesedicas.com

Ausente sim,Offline Nunca!!!!!!!!

Skype:Egon_alves

Msn:[email protected] =D

@egonfelipe

Ninguém vai escutar o que você disser até cometer um erro

10zn4.png

Link para o comentário
Compartilhar em outros sites


  • 1 year later...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.