<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>Wyniki głosowania</title>
</head>
<body>
<div>
<?php
/*Skrypt pochodzi z książki "PHP. 101 praktycznych skryptów"
  autor: Marcin Lis                    http://marcinlis.com*/

function db_connect()
{
  $link = mysql_connect("localhost", "test", "test");
  $flag = mysql_select_db("test");
  if(!$link || !$flag){
    //echo("Problem z połączeniem z bazą danych.");
    return false;
  }
  return true;
}

function vote()
{
  if(!isSet($_GET["vote"]) || $_GET["vote"] == ""){
    echo("Nie został zaznaczony żaden z kolorów.");
    return false;
  }
  else{
    $color = $_GET["vote"];
  }
  $query = "UPDATE COLORS SET VOTES = VOTES + 1 WHERE NAME = '".$color."'";
  if(!$result = mysql_query($query)){
    //echo("Problem z bazą danych. Odrzucone zapytanie.");
    return false;
  }
  return true;
}

function show()
{
  $query = 'SELECT SUM(VOTES) FROM COLORS';
  if(!$result = mysql_query($query)){
    //echo("Problem z bazą danych. Odrzucone zapytanie.");
    return false;
  }

  if(!$row = mysql_fetch_row($result)){
    //echo("Problem z bazą danych. Odrzucone zapytanie.");
    return false;
  }

  $votes_no = $row[0];

  $query = "SELECT NAME, VOTES, VOTES * 100 /".$votes_no;
  $query .= " AS PROC FROM COLORS ORDER BY VOTES DESC";
  if(!$result = mysql_query($query)){
    //echo("Problem z bazą danych. Odrzucone zapytanie.");
    result;
  }
  echo("<table border=\"1\">");

  echo("<tr><td>Nazwa koloru</td><td>Liczba głosów</td>");
  echo("<td>Procent głosów</td></tr>\n");

  while($row = mysql_fetch_array($result)){
    echo("<tr><td>{$row[0]}</td><td>{$row[1]}</td><td>");
    echo(sprintf("%.2f", $row[2]));
    echo("</td></tr>\n");
  }
  echo("</table>");
}

if(isSet($_GET["action"])){
  if($_GET["action"] == "show"){
    if(db_connect())
      show();
    else{
      echo ("Ankieta nie jest w tej chwili dostępna.");
    }
  }
  else if($_GET["action"] == "vote"){
    if(db_connect() && vote())
      show();
     else
      echo ("Ankieta nie jest w tej chwili dostępna.");
  }
  else{
    echo("Otrzymano nieprawidłowe dane.");
  }
}
else{
  echo("Otrzymano nieprawidłowe dane.");
}

?>
</div>
</body>
</html>
