42 lines
1.6 KiB
PHP
42 lines
1.6 KiB
PHP
<?php
|
|
require_once __DIR__ . '/includes/auth.php';
|
|
require_login();
|
|
|
|
require_once __DIR__ . '/db/config.php';
|
|
require_once __DIR__ . '/includes/header.php';
|
|
|
|
// Fetch all products
|
|
$stmt = db()->query('SELECT * FROM products WHERE stock > 0 ORDER BY created_at DESC');
|
|
$products = $stmt->fetchAll();
|
|
|
|
?>
|
|
|
|
<div class="container px-4 py-5">
|
|
<h2 class="pb-2 border-bottom">Product Catalog</h2>
|
|
|
|
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4 py-5">
|
|
<?php if (empty($products)): ?>
|
|
<div class="col">
|
|
<p class="text-center">No products are currently available.</p>
|
|
</div>
|
|
<?php else: ?>
|
|
<?php foreach ($products as $product): ?>
|
|
<div class="col">
|
|
<div class="card h-100 product-card">
|
|
<div class="card-body">
|
|
<h5 class="card-title"><?php echo htmlspecialchars($product['name']); ?></h5>
|
|
<p class="card-text text-muted"><?php echo htmlspecialchars($product['category']); ?></p>
|
|
<p class="card-text fs-5 fw-bold">Rp <?php echo number_format($product['price'], 2); ?></p>
|
|
</div>
|
|
<div class="card-footer bg-transparent border-top-0">
|
|
<small class="text-muted">SKU: <?php echo htmlspecialchars($product['sku']); ?></small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
|
|
<?php require_once __DIR__ . '/includes/footer.php'; ?>
|