2024-07-12 12:12:31 +02:00

96 lines
2.7 KiB
PHP

<!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>