<?php

/////////////////////
//
// Ten skrypt wymaga dostępu do serwera bazy danych MySQL.
//
// Aby z niego skorzystać konieczne będzie wykonanie następujących operacji:
//   1. Zastąpić DB_HOST nazwą serwera na którym działa baza danych
//   2. Zastąpić DB_USERNAME nazwą użytkownika bazy danych
//   3. Zastąpić DB_PASSWORD hasłem użytkownika bazy danych
//   4. Zastąpić DB_NAME nazwÄ… bazy danych MySQL
//   5. Upewnic się, czy baza danych ma następujący schemat:
//
// Nazwa tabeli: megadeski
//   Kolumna 1: boardsSold			(Typ: INT)
//   Kolumna 2: bootsSold       (Typ: INT)
//   Kolumna 3: bindingsSold    (Typ: INT)
//
// Do tej tej tabeli należy dodać pojedynczy rekord, a w jego polach
// zapisać początkowo wartości 17120, 314, 84.
//
// Warto pamiętać, że przetestowanie przykładów dołączonych do ksisiążki nie wymaga
// wcale korzystania z tego skryptu i odwoływania się do bazy danych.
// Ten skrypt stanowi jedynie dodatek.//
///////////////////

require_once('JSON.php');

// Connect to database
$conn = @mysql_connect("DB_HOST", "DB_USERNAME", "DB_PASSWORD");
if (!$conn)
  die("Error connecting to MySQL: " . mysql_error());

if (!mysql_select_db("DB_NAME", $conn))
  die("Error selecting Head First database: " . mysql_error());

$select = 'SELECT boardsSold';
$from   = '  FROM hraj_boardsrus';

$queryResult = @mysql_query($select . $from);
if (!$queryResult)
  die('Error retrieving updated sales from database.');

while ($row = mysql_fetch_array($queryResult)) {
  $boardsSold = $row['boardsSold'];
  $bootsSold = $row['bootsSold'];
  $bindingsSold = $row['bindingsSold'];
}

// Reflect new sales
srand((double)microtime() * 1000000);
$update = 'UPDATE hraj_boardsrus';
$set    = '   SET boardsSold = ' . ($boardsSold + rand(0,10)) . ', ' .
                 'bootsSold = ' . ($bootsSold + rand(0,5)) . ', ' .
                 'bindingsSold = ' . ($bindingsSold + rand(0,3));
$where  = ' WHERE boardsSold = ' . $boardsSold;
mysql_query($update . $set . $where);

$vailBoards = $boardsSold/4;
$vailBoots = $bootsSold/4;
$vailBindings = $bindingsSold/4;
$santaFeBoards = $boardsSold/4;
$santaFeBoots = $bootsSold/4;
$santaFeBindings = $bindingsSold/4;
$boulderBoards = $boardsSold/4;
$boulderBoots = $bootsSold/4;
$boulderBindings = $bindingsSold/4;
$denverBoards = $boardsSold/4;
$denverBoots = $bootsSold/4;
$denverBindings = $bindingsSold/4;

$json = new Services_JSON();
$vail = array('location'     => 'Vail', 
              'boardsSold'   => $vailBoards,
              'bootsSold'    => $vailBoots,
              'bindingsSold' => $vailBindings);
$santaFe = array('location'     => 'Santa Fe', 
                 'boardsSold'   => $santaFeBoards,
                 'bootsSold'    => $santaFeBoots,
                 'bindingsSold' => $santaFeBindings);
$boulder = array('location'     => 'Boulder', 
                 'boardsSold'   => $boulderBoards,
                 'bootsSold'    => $boulderBoots,
                 'bindingsSold' => $boulderBindings);
$denver = array('location'     => 'Denver', 
                'boardsSold'   => $denverBoards,
                'bootsSold'    => $denverBoots,
                'bindingsSold' => $denverBindings);
$totals = array('totals' => array($vail, $santaFe, $boulder, $denver));
$output = $json->encode($totals);
print($output);

mysql_close($conn);

?>