<!DOCTYPE html>
<html lang="en">

<head>
  <?php require_once "../../base/meta.php" ?>
  <title>Functions 2</title>
</head>

<body>
  <?php
  require_once "../../base/settings.php";
  require_once "../../base/headers.php";
  Headers::html();

  require_once "../../base/database.php";

  $db = DB::openConnection();

  function getFirmenAnzahl($land, $db)
  {
    $query = "SELECT COUNT(*) AS Anzahl FROM Lieferanten WHERE Land = :LAND";
    $stmt = $db->prepare($query);
    $stmt->bindValue(":LAND", $land);
    $stmt->execute();
    return $stmt->fetch(PDO::FETCH_COLUMN);
  }

  function getArtikelname($artikelnr, $db)
  {
    $query = "SELECT Artikelname FROM Artikel WHERE ArtikelNr = :NR";
    $stmt = $db->prepare($query);
    $stmt->bindValue(":NR", $artikelnr);
    $stmt->execute();
    return $stmt->fetch(PDO::FETCH_COLUMN);
  }

  function getArtikelAnzahl($firma, $db)
  {
    $query = "SELECT COUNT(*) FROM Artikel AS A, Lieferanten AS L WHERE A.LieferantenNr = L.LieferantenNr AND L.Firma = :FIRMA";
    $stmt = $db->prepare($query);
    $stmt->bindValue(":FIRMA", $firma);
    $stmt->execute();
    return $stmt->fetch(PDO::FETCH_COLUMN);
  }

  function updPercArticle($firma, $perc, $db)
  {
    $query = "
      UPDATE
        Artikel AS A, Lieferanten AS L
      SET
        A.Einzelpreis = A.Einzelpreis * :PERC
      WHERE
        A.LieferantenNr = L.LieferantenNr AND
          L.Firma = :FIRMA";
    $stmt = $db->prepare($query);
    $stmt->bindValue(":FIRMA", $firma);
    $stmt->bindValue(":PERC", 1 + $perc / 100);
    $stmt->execute();
  }

  $anz_de = getFirmenAnzahl("Deutschland", $db);
  $anz_fr = getFirmenAnzahl("Frankreich", $db);
  $name = getArtikelname(1, $db);
  $anz_exotic = getArtikelAnzahl("Exotic Liquids", $db);

  echo "<p>Es sind $anz_de Firmen in Deutschland ansässig.</p>";
  echo "<p>Es sind $anz_fr Firmen in Frankreich ansässig.</p>";

  echo "<p>$name hat Art.Nr. 1</p>";

  echo "<p>Exotic Liquids liefert $anz_exotic Artikel</p>";

  echo "<p>Before price hike</p>";
  $query = "SELECT A.Einzelpreis FROM Artikel AS A, Lieferanten AS L WHERE A.LieferantenNr = L.LieferantenNr AND L.Firma = 'Tokyo Traders'";
  $stmt = $db->prepare($query);
  $stmt->execute();
  echo "<pre>";
  var_dump($stmt->fetchAll());
  echo "</pre>";

  updPercArticle("Tokyo Traders", 10, $db);

  echo "<p>After price hike</p>";
  $query = "SELECT A.Einzelpreis FROM Artikel AS A, Lieferanten AS L WHERE A.LieferantenNr = L.LieferantenNr AND L.Firma = 'Tokyo Traders'";
  $stmt = $db->prepare($query);
  $stmt->execute();
  echo "<pre>";
  var_dump($stmt->fetchAll());
  echo "</pre>";

  DB::closeConnection($db);
  ?>
</body>

</html>