<?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>");
} else {
echo "<h1>Connected successfully to database: " . $dbname . "</h1>";
}
echo "<h1>Adding enrollment_number column to enrollments table</h1>";
// Check if enrollments table exists
$table_check = $conn->query("SHOW TABLES LIKE 'enrollments'");
if ($table_check->num_rows === 0) {
echo "<p>Error: Table 'enrollments' does not exist in the database.</p>";
exit;
}
// Check if enrollment_number column already exists
$column_check = $conn->query("SHOW COLUMNS FROM `enrollments` LIKE 'enrollment_number'");
if ($column_check->num_rows > 0) {
echo "<p>Column 'enrollment_number' already exists in table 'enrollments'.</p>";
} else {
// Add enrollment_number column
$add_column = $conn->query("ALTER TABLE `enrollments` ADD COLUMN `enrollment_number` VARCHAR(30) DEFAULT NULL");
if ($add_column) {
echo "<p>Successfully added column 'enrollment_number' to table 'enrollments'.</p>";
} else {
echo "<p>Error: Failed to add column 'enrollment_number' to table 'enrollments': " . $conn->error . "</p>";
exit;
}
}
// Get all fields from enrollments table
echo "<h2>Fields in enrollments table:</h2>";
$fields_query = $conn->query("DESCRIBE enrollments");
if ($fields_query) {
echo "<ul>";
while ($field = $fields_query->fetch_assoc()) {
echo "<li>" . $field['Field'] . " (" . $field['Type'] . ")</li>";
}
echo "</ul>";
}
// 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++;
} else {
echo "<p>Error updating enrollment ID $enrollment_id: " . $conn->error . "</p>";
}
}
if ($updated_count > 0) {
echo "<p>Updated $updated_count enrollments with generated enrollment numbers.</p>";
}
} else {
echo "<p>No enrollments need updating or error: " . ($conn->error ?: "No records found") . "</p>";
}
echo "<p>Process completed. <a href='enroll/payment.php'>Return to payment page</a></p>";
// Close the connection
$conn->close();
?>