query($deptQuery); $all_departments = $deptStmt->fetchAll(); // Pagination and Search $search_name = $_GET['name'] ?? ''; $search_dept = $_GET['department_id'] ?? ''; $page = isset($_GET['page']) && is_numeric($_GET['page']) ? (int)$_GET['page'] : 1; $limit = 10; $offset = ($page - 1) * $limit; $where = "WHERE 1=1"; $params = []; if ($search_name) { $where .= " AND (s.name_en LIKE ? OR s.name_ar LIKE ?)"; $params[] = "%$search_name%"; $params[] = "%$search_name%"; } if ($search_dept) { $where .= " AND s.department_id = ?"; $params[] = $search_dept; } // Count Total $countQuery = "SELECT COUNT(*) FROM services s $where"; $stmt = $db->prepare($countQuery); $stmt->execute($params); $totalServices = $stmt->fetchColumn(); $totalPages = ceil($totalServices / $limit); // Fetch Data $query = " SELECT s.*, d.name_$lang as department_name FROM services s LEFT JOIN departments d ON s.department_id = d.id $where ORDER BY s.id DESC LIMIT $limit OFFSET $offset"; $stmt = $db->prepare($query); $stmt->execute($params); $services = $stmt->fetchAll(); ?>
|
|
||||