query('SELECT status, COUNT(*) as count FROM candidates GROUP BY status'); $candidate_stats = $stmt->fetchAll(PDO::FETCH_ASSOC); $total_candidates = array_sum(array_column($candidate_stats, 'count')); // Task stats $stmt = $pdo->query('SELECT status, COUNT(*) as count FROM tasks GROUP BY status'); $task_stats = $stmt->fetchAll(PDO::FETCH_ASSOC); $total_tasks = array_sum(array_column($task_stats, 'count')); $completed_tasks = 0; foreach ($task_stats as $stat) { if ($stat['status'] === 'Completed') { $completed_tasks = $stat['count']; break; } } $candidate_status_labels = json_encode(array_column($candidate_stats, 'status')); $candidate_status_data = json_encode(array_column($candidate_stats, 'count')); $task_status_labels = json_encode(array_column($task_stats, 'status')); $task_status_data = json_encode(array_column($task_stats, 'count')); // Candidates per day $stmt = $pdo->query("SELECT DATE(created_at) as date, COUNT(*) as count FROM candidates GROUP BY DATE(created_at) ORDER BY DATE(created_at) ASC"); $candidates_per_day = $stmt->fetchAll(PDO::FETCH_ASSOC); $candidates_per_day_labels = json_encode(array_column($candidates_per_day, 'date')); $candidates_per_day_data = json_encode(array_column($candidates_per_day, 'count')); // Tasks per day $stmt = $pdo->query("SELECT DATE(created_at) as date, COUNT(*) as count FROM tasks GROUP BY DATE(created_at) ORDER BY DATE(created_at) ASC"); $tasks_per_day = $stmt->fetchAll(PDO::FETCH_ASSOC); $tasks_per_day_labels = json_encode(array_column($tasks_per_day, 'date')); $tasks_per_day_data = json_encode(array_column($tasks_per_day, 'count')); // Tasks completed per day $stmt = $pdo->query("SELECT DATE(updated_at) as date, COUNT(*) as count FROM tasks WHERE status = 'Done' GROUP BY DATE(updated_at) ORDER BY DATE(updated_at) ASC"); $tasks_completed_per_day = $stmt->fetchAll(PDO::FETCH_ASSOC); $tasks_completed_per_day_labels = json_encode(array_column($tasks_completed_per_day, 'date')); $tasks_completed_per_day_data = json_encode(array_column($tasks_completed_per_day, 'count')); // Fetch candidates for table $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $limit = 5; $offset = ($page - 1) * $limit; $stmt = $pdo->prepare("SELECT * FROM candidates LIMIT :limit OFFSET :offset"); $stmt->bindParam(':limit', $limit, PDO::PARAM_INT); $stmt->bindParam(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); $candidates = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt = $pdo->query("SELECT COUNT(*) FROM candidates"); $total_candidates_records = $stmt->fetchColumn(); $total_candidate_pages = ceil($total_candidates_records / $limit); // Fetch tasks for table $stmt = $pdo->prepare("SELECT * FROM tasks LIMIT :limit OFFSET :offset"); $stmt->bindParam(':limit', $limit, PDO::PARAM_INT); $stmt->bindParam(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); $tasks = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt = $pdo->query("SELECT COUNT(*) FROM tasks"); $total_tasks_records = $stmt->fetchColumn(); $total_task_pages = ceil($total_tasks_records / $limit); ?>