Sort selectable and Date added. Delete also works

This commit is contained in:
2022-10-03 20:43:43 +02:00
parent e2ce612318
commit 40bb148b33
3 changed files with 168 additions and 32 deletions

View File

@@ -2,8 +2,10 @@
include 'config/config.php';
function generateListItem($ListItemID, $ItemImage, $ItemTitle, $ItemLink, $ItemPrice, $ItemComment, $ItemReserved)
function generateListItem($ListItemID, $ItemImage, $ItemTitle, $ItemLink, $ItemPrice, $ItemComment, $ItemReserved, $ItemDate)
{
global $loggedin;
$formatter = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
if (strlen($ItemComment) == 0) {
@@ -12,25 +14,43 @@ function generateListItem($ListItemID, $ItemImage, $ItemTitle, $ItemLink, $ItemP
echo ('
<div class="col">
<div class="card shadow-sm">
<img src="' . $ItemImage . '" class="card-img-top">
<div class="card-body">
<h5 class="card-title">' . $ItemTitle . '</h5>
<p class="card-text">' . $ItemComment . '</p>
<div class="d-flex justify-content-between align-items-center">
<div class="btn-group">
<a href="' . $ItemLink . '" class="btn btn-sm btn-outline-secondary" role="button" target="_blank">zum Anbieter</a>
<button type="button" class="btn btn-sm ' . ($ItemReserved == true ? 'btn-outline-info' : 'btn-outline-secondary') . '" data-reserved="' . $ItemReserved . '" data-wishid="' . $ListItemID . '" data-bs-toggle="modal" data-bs-target="#reservationModal">' . ($ItemReserved == true ? 'Reservierung aufheben' : 'Reservieren') . '</button>
<div class="card shadow-sm">
<div class="card-header">
<h5 class="card-title">' . $ItemTitle . '</h5>
</div>
<img src="' . $ItemImage . '" class="card-img-top">
<div class="card-body">
<p class="card-text">' . $ItemComment . '</p>
<div class="row justify-content-end">
<small class="text-muted text-end">' . $formatter->formatCurrency($ItemPrice / 100, 'EUR') . '</small>
</div>
</div>
<div class="card-footer text-muted">
<div class="d-flex justify-content-between">
<div class="d-inline btn-group">
<a href="' . $ItemLink . '" class="btn btn-sm btn-outline-secondary" role="button" target="_blank">zum Anbieter</a>
<button type="button" class="btn btn-sm ' . ($ItemReserved == true ? 'btn-outline-info' : 'btn-outline-secondary') . '" data-reserved="' . $ItemReserved . '" data-wishid="' . $ListItemID . '" data-bs-toggle="modal" data-bs-target="#reservationModal">' . ($ItemReserved == true ? 'Reservierung aufheben' : 'Reservieren') . '</button>');
if($loggedin == true)
{
echo('
<button type="button" class="btn btn-sm btn-outline-danger" data-wishid="' . $ListItemID . '" data-bs-toggle="modal" data-bs-target="#deleteModal">Löschen</button>'
);
}
echo('
</div>
<div class="d-inline">
<small class="text-muted text-end">' . date('m.d.y', strtotime($ItemDate)) . '</small>
</div>
</div>
<small class="text-muted">' . $formatter->formatCurrency($ItemPrice / 100, 'EUR') . '</small>
</div>
</div>
</div>
</div>
');
}
function wishlistMainBuilder($ListID)
function wishlistMainBuilder($ListID, $sortby)
{
global $servername, $username, $password, $db;
@@ -78,12 +98,32 @@ function wishlistMainBuilder($ListID)
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
');
$sql = 'SELECT ID, title, description, link, image, reserved, price FROM whishes WHERE whislist = ' . $ListID . ' ORDER BY RAND()';
$sort = 'id';
switch ($sortby) {
case 'price_asc':
$sort = 'price ASC';
break;
case 'price_desc':
$sort = 'price DESC';
break;
case 'date_desc':
$sort = 'date DESC';
break;
case 'date_asc':
$sort = 'date ASC';
break;
case 'random':
$sort = 'RAND()';
break;
}
$sql = 'SELECT ID, title, description, link, image, reserved, price, date FROM whishes WHERE whislist = ' . $ListID . ' ORDER BY ' . $sort;
$result = $conn->query($sql);
if ($result !== false && $result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
generateListItem($row['ID'], $row['image'], $row['title'], $row['link'], $row['price'], $row['description'], $row['reserved']);
generateListItem($row['ID'], $row['image'], $row['title'], $row['link'], $row['price'], $row['description'], $row['reserved'], $row['date']);
}
}