prepare("SELECT Admin_ID FROM master_profile WHERE Master_ID = ?");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->bind_param("s", $Master_ID);
$stmt->execute();
$stmt->bind_result($Admin_ID);
$stmt->fetch();
$stmt->close();
// Total Masters under the same Admin
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM master_profile WHERE Admin_ID = ?");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->bind_param("s", $Admin_ID);
$stmt->execute();
$stmt->bind_result($totalMasters);
$stmt->fetch();
$stmt->close();
// Total Managers under this Admin
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM manager_profile WHERE Admin_ID = ?");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->bind_param("s", $Admin_ID);
$stmt->execute();
$stmt->bind_result($totalManagers);
$stmt->fetch();
$stmt->close();
// Total Teachers under this Admin's managers
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM teacher_profile WHERE Manager_ID IN (SELECT Manager_ID FROM manager_profile WHERE Admin_ID = ?)");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->bind_param("s", $Admin_ID);
$stmt->execute();
$stmt->bind_result($totalTeachers);
$stmt->fetch();
$stmt->close();
// Total Groups under this Admin's managers
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM manager_group_name WHERE Manager_ID IN (SELECT Manager_ID FROM manager_profile WHERE Admin_ID = ?)");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->bind_param("s", $Admin_ID);
$stmt->execute();
$stmt->bind_result($totalGroups);
$stmt->fetch();
$stmt->close();
// Total Courses
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM Courses");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->execute();
$stmt->bind_result($totalCourses);
$stmt->fetch();
$stmt->close();
// Total Assignments
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM teacher_course_assignments WHERE Teacher_ID IN (SELECT Teacher_ID FROM teacher_profile WHERE Manager_ID IN (SELECT Manager_ID FROM manager_profile WHERE Admin_ID = ?))");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->bind_param("s", $Admin_ID);
$stmt->execute();
$stmt->bind_result($totalAssignments);
$stmt->fetch();
$stmt->close();
// Unassigned Courses
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM Courses WHERE Course_ID NOT IN (SELECT DISTINCT Course_ID FROM teacher_course_assignments)");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->execute();
$stmt->bind_result($unassignedCourses);
$stmt->fetch();
$stmt->close();
// Programs count
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM Programs");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->execute();
$stmt->bind_result($totalPrograms);
$stmt->fetch();
$stmt->close();
// Unwanted Assignments
$stmt = $mysqli->prepare("
SELECT COUNT(*)
FROM teacher_course_assignments tca
WHERE tca.Teacher_ID IN (SELECT Teacher_ID FROM teacher_profile WHERE Manager_ID IN (SELECT Manager_ID FROM manager_profile WHERE Admin_ID = ?))
AND NOT EXISTS (
SELECT 1
FROM teacher_course_preferences tcp
WHERE tcp.Teacher_ID = tca.Teacher_ID
AND tcp.Course_ID = tca.Course_ID
)
");
if (!$stmt) { die("Prepare failed: " . $mysqli->error); }
$stmt->bind_param("s", $Admin_ID);
$stmt->execute();
$stmt->bind_result($unwantedAssignments);
$stmt->fetch();
$stmt->close();
// Monthly assignments data for charts
$json_data = array();
$queryMonthly = "
SELECT MONTH(Assigned_At) AS Month, COUNT(*) AS Count
FROM teacher_course_assignments
WHERE Teacher_ID IN (SELECT Teacher_ID FROM teacher_profile WHERE Manager_ID IN (SELECT Manager_ID FROM manager_profile WHERE Admin_ID = ?))
GROUP BY MONTH(Assigned_At)
";
$stmt = $mysqli->prepare($queryMonthly);
if ($stmt) {
$stmt->bind_param("s", $Admin_ID);
$stmt->execute();
$resultMonthly = $stmt->get_result();
while ($row = $resultMonthly->fetch_assoc()) {
$json_data[] = array(
'label' => $row['Month'],
'item1' => $row['Count']
);
}
$stmt->close();
}
?>
Course Management System | Master DashboardNotice: " . htmlspecialchars($_SESSION['role_notice']) . "
";
unset($_SESSION['role_notice']);
}
include 'main-header-inc.php';
?>