2024-06-07 13:33:01 +02:00

126 lines
2.8 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<?php include_once "../../base/meta.php" ?>
<link href="./css/head.css" rel="stylesheet" />
<title>Artikel</title>
</head>
<body>
<?php
include_once "../../base/settings.php";
include_once "../../base/headers.php";
Headers::html();
include_once "../../base/database.php";
include_once "./queries.php";
$query = $base;
session_name("PHP_SESSION_itemList");
session_start();
$db = DB::openConnection();
// DEFAULTS
$number = "none";
$article = "up";
$price = "none";
$page = 0;
// Set from Session first
if (isset($_SESSION["number"])) {
$number = $_SESSION["number"];
}
if (isset($_SESSION["article"])) {
$article = $_SESSION["article"];
}
if (isset($_SESSION["price"])) {
$price = $_SESSION["price"];
}
// Populate with actual values if set and save to session
$shouldRedirect = false;
if (isset($_POST["number"])) {
$number = $_POST["number"];
$article = "none";
$price = "none";
$shouldRedirect = true;
}
if (isset($_POST["article"])) {
$number = "none";
$article = $_POST["article"];
$price = "none";
$shouldRedirect = true;
}
if (isset($_POST["price"])) {
$number = "none";
$article = "none";
$price = $_POST["price"];
$shouldRedirect = true;
}
// Save to session
$_SESSION["number"] = $number;
$_SESSION["article"] = $article;
$_SESSION["price"] = $price;
if ($shouldRedirect) {
Headers::redirect("./");
return;
}
if ($number !== "none")
$query .= "\nORDER BY {$sorters["number"][$number]}\n";
if ($article !== "none")
$query .= "\nORDER BY {$sorters["article"][$article]}\n";
if ($price !== "none")
$query .= "\nORDER BY {$sorters["price"][$price]}\n";
$query .= "LIMIT 10\n";
$stmt = $db->prepare($cnt);
$stmt->execute();
$maxPage = intdiv($stmt->fetch(PDO::FETCH_COLUMN), 10);
$page = isset($_GET["p"]) ? intval($_GET["p"]) : 0;
if ($page > $maxPage) {
Headers::redirect("./?p=$maxPage");
return;
}
if ($page < 0) {
Headers::redirect("./");
return;
}
$query .= "OFFSET " . $page * 10;
$stmt = $db->prepare($query);
$stmt->execute();
$result = $stmt->fetchAll();
DB::closeConnection($db);
?>
<nav class="navbar navbar-expand-lg navbar-light bg-light shadow-sm">
<div class="container-fluid">
<a class="navbar-brand" href="#">List of items</a>
</div>
</nav>
<div class="container-fluid">
<p>
Below you will find a list of all purchasable items, their item number as well as their price per unit.
</p>
<main>
<table class="table table-sm table-striped">
<?php include "./components/table/head.php" ?>
<?php include "./components/table/body.php" ?>
</table>
<?php include "./components/pagination.php" ?>
</main>
</div>
</body>
</html>