Article List
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
<!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>
|
||||
Reference in New Issue
Block a user