rendered paste body<?php
class poll
{
var $poll_id;
var $answer_id;
function display_poll()
{
$poll_id = $this->poll_id;
$query = "SELECT * FROM polls WHERE id = " . $poll_id;
$result = mysql_query($query) or die(mysql_error());
if(!mysql_num_rows($result))
die("Invalid poll id");
$row = mysql_fetch_assoc($result);
$poll_title = $row["question"];
$poll_answers = array($row["answer1"] , $row["answer2"] , $row["answer3"] , $row["answer4"] , $row["answer5"]);
$poll_answers_num = 0;
for($i = 0; $i < 5; $i++)
{
if(!empty($poll_answers[$i]))
$poll_answers_num++;
}
if(!$this->user_voted($_SERVER["REMOTE_ADDR"])) // if the user hasn't voted
{
echo "<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">";
echo "<b>" . $poll_title . "</b><br \>";
for($i = 0; $i < $poll_answers_num; $i++) {
echo "<input type=\"radio\" name=\"answerid\" value=\"" . ($i + 1) . "\"> " . $poll_answers[$i] . "<br \>";
}
echo "<input type=\"hidden\" name=\"pollid\" value=\"" . $poll_id . "\">";
echo "<input type=\"submit\" name=\"vote\" value=\"Vote\">";
echo "</form>";
}
else
{
echo "<b>" . $poll_title . "</b><br \>";
echo "<ul>";
for($i = 0; $i < $poll_answers_num; $i++)
{
$answers_sum = $this->answers_sum($i + 1);
$answers_total = $this->answers_total();
$answer_percent = $this->answer_percent($answers_sum , $answers_total);
echo "<li>" . $poll_answers[$i] . " - " . $answer_percent . "%</li>";
}
echo "</ul>";
}
}
function user_voted($user_ip)
{
$query = "SELECT * FROM poll_answers WHERE ip = '" . $user_ip . "'";
$result = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result))
return 1;
return 0;
}
function vote()
{
$poll_id = $this->poll_id;
$answer_id = $this->answer_id;
$ip = $_SERVER["REMOTE_ADDR"];
if($this->user_voted($ip))
return 2;
$result = mysql_query("INSERT INTO `poll_answers` (pollid, answerid, ip) VALUES ('$poll_id', '$answer_id', '$ip')") or die(mysql_error());
if($result != false)
return 1;
return 0;
}
function answers_sum($answerid)
{
$query = "SELECT * FROM poll_answers WHERE pollid = " . $this->poll_id . " AND answerid = " . $answerid;
$result = mysql_query($query) or die(mysql_error());
$answers_sum = 0;
while($row = mysql_fetch_assoc($result))
$answers_sum += $row["answerid"];
return $answers_sum;
}
function answers_total()
{
$query = "SELECT * FROM poll_answers WHERE pollid = " . $this->poll_id;
$result = mysql_query($query) or die(mysql_error());
return mysql_num_rows($result);
}
function answer_percent($answers_sum , $answers_total)
{
return ($answers_sum / $answers_total) * 100;
}
}
?>