= ?"; $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 = []; if ($current_role === 'super_admin') { $branches = db()->query("SELECT id, name_en, name_ar FROM branches")->fetchAll(); } ?>
ID
0 ? '-' . format_amount($order['loyalty_discount']) : '-' ?>
1): ?>