<?php
// Set up error reporting for debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Manual database connection
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "popularcomputer";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("<h1>Connection failed: " . $conn->connect_error . "</h1>");
}
echo "<h1>Updating Enrollment Numbers</h1>";
// Get count of records with null enrollment_number
$count_query = $conn->query("SELECT COUNT(*) as count FROM enrollments WHERE enrollment_number IS NULL");
$row = $count_query->fetch_assoc();
$null_count = $row['count'];
echo "<p>Found " . $null_count . " enrollments without enrollment numbers.</p>";
if ($null_count > 0) {
// Update existing enrollments with generated enrollment numbers
$update_query = $conn->query("SELECT e.id, e.user_id, e.course_id, c.course_code
FROM enrollments e
LEFT JOIN courses c ON e.course_id = c.id
WHERE e.enrollment_number IS NULL");
if ($update_query && $update_query->num_rows > 0) {
$updated_count = 0;
while ($enrollment = $update_query->fetch_assoc()) {
$enrollment_id = $enrollment['id'];
$user_id = $enrollment['user_id'];
$course_id = $enrollment['course_id'];
$course_code = $enrollment['course_code'] ?: 'C' . sprintf('%03d', $course_id);
// Generate enrollment number: COURSE_CODE-STUDENT_ID-YEAR-RANDOM
$year = date('Y');
$random = strtoupper(substr(md5(uniqid()), 0, 4));
$enrollment_number = $course_code . '-' . $user_id . '-' . $year . '-' . $random;
// Update the enrollment with the generated number
if ($conn->query("UPDATE enrollments SET enrollment_number = '$enrollment_number' WHERE id = $enrollment_id")) {
$updated_count++;
echo "<p>Updated enrollment ID $enrollment_id with number: $enrollment_number</p>";
} else {
echo "<p>Error updating enrollment ID $enrollment_id: " . $conn->error . "</p>";
}
}
if ($updated_count > 0) {
echo "<h2>Successfully updated $updated_count enrollment records.</h2>";
}
} else {
echo "<p>Error retrieving enrollments or no records found: " . ($conn->error ?: "No records found") . "</p>";
}
} else {
echo "<p>All enrollment records already have enrollment numbers.</p>";
// Show some sample enrollment numbers
$sample_query = $conn->query("SELECT id, enrollment_number FROM enrollments WHERE enrollment_number IS NOT NULL LIMIT 5");
if ($sample_query && $sample_query->num_rows > 0) {
echo "<h3>Sample enrollment numbers:</h3>";
echo "<ul>";
while ($row = $sample_query->fetch_assoc()) {
echo "<li>ID " . $row['id'] . ": " . $row['enrollment_number'] . "</li>";
}
echo "</ul>";
}
}
echo "<p>Process completed. <a href='enroll/payment.php'>Return to payment page</a></p>";
// Close the connection
$conn->close();
?>