Categorias

Enquete utilizando aquivo texto

Neste código será apresentando uma simples enquete utilizando arquivo texto.

Vamos fazer uso do array() e de um arquivo texto chamado vota.txt que vai armazenar a contagem dos votos.

Importante: Crie uma imagem qualquer que será colocada na tela de resultados da enquete pra dar aquele visual de estatísticas. Grave ela na pasta figuras com o nome (vote_middle.gif).

Arquivo: admin_enquete.php 
Esse é o arquivo de configuração da nossa enquete 
 


Arquivo: index.php 
Arquivo principal que é o responsável pela soma dos resultados e a apresentação da enquete. 
"; 
echo ""; 
echo ""; 
while(list($key,$val)=each($opcoes)) { 
echo ""; 
}//fecha while que mostra as opções de respostas 
echo ""; 
echo ""; 
echo ""; 
} //fecha a mostra da enquete 

else { //Mostra os resultados / Grava a resposta do usuário 
$arquivo_array = file($arquivo_texto); //lê o arquivo e armazena num array 

if($resposta < count($opcoes) && $votar) { // Grava a resposta 
$veia_resp = $arquivo_array[$resposta]; 
$veia_resp = preg_replace("/nr*/","",$veia_resp); //Executa uma busca 
$arquivo_array[$resposta] = ($veia_resp + 1)."n"; 

$arquivo = join('',$arquivo_array); //Agrupa elementos de um array em uma string - mesmo que implode() 
$fp = fopen($arquivo_texto,"w"); //Abre o arquivo texto 
flock($fp,1); // Bloqueio manual do arquivo 
fputs($fp,$arquivo); //Grava no arquivo 
flock($fp,3); // Bloqueio manual do arquivo 
fclose($fp); //Fecha o ponteiro do arquivo 
}//fecha if -> grava a resposta 

while(list($key,$val) = each($arquivo_array)) { //Soma o total de votos 
$total += $val; 
}//fecha while -> soma total de votos 

//Exibe o resultado da enquete 
echo "Resultados:"; 
echo "
$questao
$val
"; echo ""; while(list($key,$val)=each($opcoes)) { //Lista os resultados $porc = $arquivo_array[$key] * 100 / $total; $porc_int = floor($porc); $porc_float = number_format($porc,1); //formata o número $tp += $porc_float; echo ""; echo ""; echo ""; } //fecha while -> resultados }//fecha else com os resultados / grava resposta ?> Esta aí na sua enquete pronta e funcional. Essa enquete está simples, tem muito detalhes a serem acertados como por exemplo impedir que o usuário vote mais de uma vez nela. Para solucionar esse problema, basta fazermos uso de um cookie, mais isso vou deixar a cargo de vocês.
QuestõesPorcentagemVotos
$opcoes[$key]"; echo "$porc_float%$arquivo_array[$key]