<?php

function db_connect()
{
  if (!$db_lnk = sqlite_open("./baza.sqlite", 0666, $msg)){
    return false;
  }
  else{
    return $db_lnk;
  }
}

function vote($db_lnk)
{
  if(!isSet($_GET["vote"]) || $_GET["vote"] == ""){
    echo("Nie została zaznaczona żadna z opcji.");
    return false;
  }
  else{
    $color = $_GET["vote"];
  }

  $query = "UPDATE COLORS SET VOTES = VOTES + 1 WHERE NAME='$color'";

  if(!$result = sqlite_query($db_lnk, $query)){
    return false;
  }
  else{
    return true;
  }
}

function show($db_lnk)
{
  $query = 'SELECT SUM(VOTES) AS SUMA FROM COLORS';
  if(!$result = sqlite_query($db_lnk, $query)){
    return false;
  }

  if(!$row = sqlite_fetch_array($result)){
    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 = sqlite_query($db_lnk, $query)){
    //echo("Problem z bazą danych. Odrzucone zapytanie.");
    result;
  }


?>

<table border='0' cellpadding="0" cellspacing="0">
<tr style="background-color:#F0F0F0">
  <td>Nazwa koloru</td>
  <td>Liczba głosów</td>
  <td>Procent głosów </td>
</tr>

<?php
  while($row = sqlite_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(($db_lnk = db_connect()) === false){
  die("Brak połączenia z bazą danych.");
}

if(vote($db_lnk)){
  show($db_lnk);
}
else{
  echo("Otrzymano nieprawidłowe dane.");
}
?>
