Voters List
View and manage registered voters
Check_Auth(); if ($_SESSION['Access_Level'] < 1) { header('Location: Voting_Screen.php'); exit; } $db = db(); // Filters $search = $_GET['search'] ?? ''; $filterTrack = $_GET['track'] ?? ''; $filterGrade = $_GET['grade'] ?? ''; $filterSection = $_GET['section'] ?? ''; // Fetch Stats $totalVoters = $db->query("SELECT COUNT(*) FROM Voters")->fetchColumn(); $votedCount = $db->query("SELECT COUNT(*) FROM Voters WHERE Has_Voted = 1")->fetchColumn(); $notVotedCount = $totalVoters - $votedCount; // Fetch Breakdowns $tracks = $db->query("SELECT Track_Cluster as label, COUNT(*) as value FROM Voters GROUP BY Track_Cluster")->fetchAll(); $grades = $db->query("SELECT Grade_Level as label, COUNT(*) as value FROM Voters GROUP BY Grade_Level")->fetchAll(); $sections = $db->query("SELECT Section as label, COUNT(*) as value FROM Voters GROUP BY Section")->fetchAll(); // Build Query for List $queryStr = "SELECT * FROM Voters WHERE 1=1"; $params = []; if ($search) { $queryStr .= " AND Email LIKE ?"; $params[] = "%$search%"; } if ($filterTrack) { $queryStr .= " AND Track_Cluster = ?"; $params[] = $filterTrack; } if ($filterGrade) { $queryStr .= " AND Grade_Level = ?"; $params[] = $filterGrade; } if ($filterSection) { $queryStr .= " AND Section = ?"; $params[] = $filterSection; } $queryStr .= " ORDER BY Email ASC"; $stmt = $db->prepare($queryStr); $stmt->execute($params); $votersList = $stmt->fetchAll(); ?>
View and manage registered voters
Upload a CSV file with the following headers:
User_ID, Email, Track_Cluster, Grade_Level, Section, Password