🤩 File Manager - Mr.X
PHP:
8.3.33
Server:
Apache
OS:
Linux 5.14.0-611.49.1.el9_7.x86_64
User:
websparkit
Navigate
Upload:
Upload
New File
New Folder
Editing:orders.php
<?php $page = 'orders'; $page_title = 'Orders'; require_once '../includes/header.php'; $status_filter = $_GET['status'] ?? ''; $where = "1=1"; $params = []; if ($status_filter) { $where .= " AND order_status = ?"; $params[] = $status_filter; } $page_num = max(1, intval($_GET['page'] ?? 1)); $per_page = 20; $offset = ($page_num - 1) * $per_page; $count_stmt = $db->prepare("SELECT COUNT(*) FROM orders WHERE $where"); $count_stmt->execute($params); $total = $count_stmt->fetchColumn(); $total_pages = ceil($total / $per_page); $stmt = $db->prepare("SELECT * FROM orders WHERE $where ORDER BY created_at DESC LIMIT $per_page OFFSET $offset"); $stmt->execute($params); $orders = $stmt->fetchAll(); ?> <div class="data-table-wrapper"> <div class="d-flex justify-content-between align-items-center mb-4 flex-wrap gap-2"> <h3 style="margin: 0; font-size: 1.2rem;">All Orders (<?= $total ?>)</h3> <div class="d-flex gap-2 flex-wrap"> <a href="<?= ADMIN_PATH ?>pages/orders.php" class="btn-admin <?= !$status_filter ? 'btn-primary-admin' : 'btn-outline-admin' ?>" style="padding: 6px 15px;">All</a> <a href="?status=pending" class="btn-admin <?= $status_filter == 'pending' ? 'btn-primary-admin' : 'btn-outline-admin' ?>" style="padding: 6px 15px;">Pending</a> <a href="?status=processing" class="btn-admin <?= $status_filter == 'processing' ? 'btn-primary-admin' : 'btn-outline-admin' ?>" style="padding: 6px 15px;">Processing</a> <a href="?status=shipped" class="btn-admin <?= $status_filter == 'shipped' ? 'btn-primary-admin' : 'btn-outline-admin' ?>" style="padding: 6px 15px;">Shipped</a> <a href="?status=delivered" class="btn-admin <?= $status_filter == 'delivered' ? 'btn-primary-admin' : 'btn-outline-admin' ?>" style="padding: 6px 15px;">Delivered</a> <a href="?status=cancelled" class="btn-admin <?= $status_filter == 'cancelled' ? 'btn-primary-admin' : 'btn-outline-admin' ?>" style="padding: 6px 15px;">Cancelled</a> </div> </div> <div class="table-responsive"> <table class="admin-table"> <thead> <tr> <th>Order #</th> <th>Customer</th> <th>Items</th> <th>Total</th> <th>Payment</th> <th>Status</th> <th>Date</th> <th>Action</th> </tr> </thead> <tbody> <?php foreach ($orders as $order): $items = $db->prepare("SELECT COUNT(*) FROM order_items WHERE order_id = ?"); $items->execute([$order['id']]); $item_count = $items->fetchColumn(); ?> <tr> <td><strong style="color: var(--primary-rose-gold);"><?= htmlspecialchars($order['order_number']) ?></strong></td> <td> <div><?= htmlspecialchars($order['first_name'] . ' ' . $order['last_name']) ?></div> <small class="text-muted"><?= htmlspecialchars($order['email']) ?></small> </td> <td><span class="badge" style="background: var(--soft-pink); color: var(--primary-rose-gold);"><?= $item_count ?> items</span></td> <td><strong><?= format_currency($order['total']) ?></strong></td> <td> <span class="status-badge status-<?= $order['payment_status'] == 'completed' ? 'active' : 'pending' ?>"> <?= ucfirst($order['payment_status']) ?> </span> </td> <td> <span class="status-badge status-<?= $order['order_status'] ?>"> <?= ucfirst($order['order_status']) ?> </span> </td> <td><?= date('M d, Y', strtotime($order['created_at'])) ?></td> <td> <a href="<?= ADMIN_PATH ?>pages/order-details.php?id=<?= $order['id'] ?>" class="btn-icon btn-admin btn-primary-admin" data-bs-toggle="tooltip" title="View"> <i class="fas fa-eye"></i> </a> </td> </tr> <?php endforeach; ?> </tbody> </table> </div> <?php if ($total_pages > 1): ?> <div class="admin-pagination"> <?php for ($i = 1; $i <= $total_pages; $i++): ?> <a href="?<?= http_build_query(array_merge($_GET, ['page' => $i])) ?>" class="<?= $i == $page_num ? 'active' : '' ?>"><?= $i ?></a> <?php endfor; ?> </div> <?php endif; ?> </div> <?php require_once '../includes/footer.php'; ?>
Save Changes
Cancel
Create New File
Create New Folder