Sistema de votação online em PHP e MySQL
Virtual Arts Design :: Webdesign :: Linguagens Web :: PHP
Página 1 de 1
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:
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 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 "
" . $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....
1. Criando o arquivo para votar:
Cria um ficheiro html e escreve a tua pergunta e respostas como
no exemplo seguinte:
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 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 "
" . $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....
Tópicos semelhantes
» Usar MySQL com PHP
» Consultando MySQL usando PHP
» Excluindo dados do MySQL
» Sistema de Login para iniciantes
» Exibindo Dados MySQL em um ComboBox (select e option)
» Consultando MySQL usando PHP
» Excluindo dados do MySQL
» Sistema de Login para iniciantes
» Exibindo Dados MySQL em um ComboBox (select e option)
Virtual Arts Design :: Webdesign :: Linguagens Web :: PHP
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|