diff --git a/index.php b/index.php index df3a4b3..0a55d66 100644 --- a/index.php +++ b/index.php @@ -2,26 +2,54 @@ require_once 'db/config.php'; // Fetch all processes from the database +// Pagination settings +$items_per_page = 5; +$current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1; +$offset = ($current_page - 1) * $items_per_page; + $processes = []; $search_query = $_GET['search'] ?? ''; +$total_processes = 0; + try { $pdo = db(); + + // First, get the total number of processes (with search filter if applied) + $count_sql = "SELECT COUNT(*) FROM processes"; + if (!empty($search_query)) { + $count_sql .= " WHERE name LIKE :search_query OR description LIKE :search_query"; + } + $count_stmt = $pdo->prepare($count_sql); + if (!empty($search_query)) { + $count_stmt->bindValue(':search_query', '%' . $search_query . '%', PDO::PARAM_STR); + } + $count_stmt->execute(); + $total_processes = $count_stmt->fetchColumn(); + + // Then, fetch the processes for the current page (with search filter and pagination) $sql = "SELECT id, name, description, created_at FROM processes"; if (!empty($search_query)) { $sql .= " WHERE name LIKE :search_query OR description LIKE :search_query"; } - $sql .= " ORDER BY created_at DESC"; + $sql .= " ORDER BY created_at DESC LIMIT :limit OFFSET :offset"; $stmt = $pdo->prepare($sql); + if (!empty($search_query)) { $stmt->bindValue(':search_query', '%' . $search_query . '%', PDO::PARAM_STR); } + $stmt->bindValue(':limit', $items_per_page, PDO::PARAM_INT); + $stmt->bindValue(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); $processes = $stmt->fetchAll(PDO::FETCH_ASSOC); + } catch (PDOException $e) { // Silently log error, or display a friendly message. error_log("DB Error: " . $e->getMessage()); } +$total_pages = ceil($total_processes / $items_per_page); + + $project_name = htmlspecialchars($_SERVER['PROJECT_NAME'] ?? 'ProcessFlow Optimizer'); $project_description = htmlspecialchars($_SERVER['PROJECT_DESCRIPTION'] ?? 'Analyze and optimize your business processes.'); $project_image_url = htmlspecialchars($_SERVER['PROJECT_IMAGE_URL'] ?? ''); @@ -176,6 +204,23 @@ $project_image_url = htmlspecialchars($_SERVER['PROJECT_IMAGE_URL'] ?? ''); + 1): ?> + +