= ?"; $params[] = $from_date; } if ($to_date) { $sql_base .= " AND DATE(o.created_at) <= ?"; $params[] = $to_date; } if ($search) { $sql_base .= " AND (o.order_number LIKE ? OR c.phone LIKE ? OR c.name_en LIKE ? OR c.name_ar LIKE ?)"; $search_param = "%$search%"; $params[] = $search_param; $params[] = $search_param; $params[] = $search_param; $params[] = $search_param; } // Total count for pagination $count_sql = "SELECT COUNT(*) " . $sql_base; $stmt_count = db()->prepare($count_sql); $stmt_count->execute($params); $total_items = $stmt_count->fetchColumn(); $total_pages = ceil($total_items / $limit); // Final data query $sql = "SELECT o.*, c.name_en as customer_name_en, c.name_ar as customer_name_ar, c.phone as customer_phone, b.name_en as branch_name_en, b.name_ar as branch_name_ar " . $sql_base . " ORDER BY o.created_at DESC LIMIT $limit OFFSET $offset"; $stmt = db()->prepare($sql); $stmt->execute($params); $orders = $stmt->fetchAll(); $branches = db()->query("SELECT id, name_en, name_ar FROM branches")->fetchAll(); ?>

#
1): ?>
'secondary', 'processing' => 'primary', 'ready' => 'success', 'delivered' => 'dark', 'cancelled' => 'danger', ][$status] ?? 'info'; }} require_once __DIR__ . '/includes/footer.php'; ?>