Edit Student
🏛️ Punjab State Open School, Hoshiarpur - Update Student Details
query($columns_query); $existing_columns = []; while($col = $columns_result->fetch_assoc()) { $existing_columns[] = $col['Field']; } // Fetch classes from database for dropdown $classes_query = "SELECT * FROM classes ORDER BY id ASC"; $classes_result = $conn->query($classes_query); $classes_list = []; if ($classes_result && $classes_result->num_rows > 0) { while($class_row = $classes_result->fetch_assoc()) { $classes_list[] = $class_row; } } // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $updates = []; // Only update fields that exist in database if (in_array('student_name', $existing_columns)) { $student_name = mysqli_real_escape_string($conn, $_POST['student_name']); $updates[] = "student_name = '$student_name'"; } if (in_array('student_name_pb', $existing_columns) && isset($_POST['student_name_pb'])) { $student_name_pb = mysqli_real_escape_string($conn, $_POST['student_name_pb']); $updates[] = "student_name_pb = '$student_name_pb'"; } if (in_array('father_name', $existing_columns)) { $father_name = mysqli_real_escape_string($conn, $_POST['father_name']); $updates[] = "father_name = '$father_name'"; } if (in_array('mother_name', $existing_columns) && isset($_POST['mother_name'])) { $mother_name = mysqli_real_escape_string($conn, $_POST['mother_name']); $updates[] = "mother_name = '$mother_name'"; } if (in_array('roll_no', $existing_columns)) { $roll_no = mysqli_real_escape_string($conn, $_POST['roll_no']); $updates[] = "roll_no = '$roll_no'"; } if (in_array('reg_no', $existing_columns) && isset($_POST['reg_no'])) { $reg_no = mysqli_real_escape_string($conn, $_POST['reg_no']); $updates[] = "reg_no = '$reg_no'"; } // Get class name from class_id if (in_array('class', $existing_columns) && isset($_POST['class_id'])) { $class_id = mysqli_real_escape_string($conn, $_POST['class_id']); // Get class name from classes table $class_name_query = $conn->query("SELECT class_name FROM classes WHERE id = '$class_id'"); if ($class_name_row = $class_name_query->fetch_assoc()) { $class_name = $class_name_row['class_name']; } else { // Fallback - use class_id as class name $class_name = $class_id; } $updates[] = "class = '$class_name'"; } if (in_array('dob', $existing_columns) && isset($_POST['dob'])) { $dob = mysqli_real_escape_string($conn, $_POST['dob']); $updates[] = "dob = '$dob'"; } if (in_array('gender', $existing_columns) && isset($_POST['gender'])) { $gender = mysqli_real_escape_string($conn, $_POST['gender']); $updates[] = "gender = '$gender'"; } if (in_array('category', $existing_columns) && isset($_POST['category'])) { $category = mysqli_real_escape_string($conn, $_POST['category']); $updates[] = "category = '$category'"; } if (in_array('mobile', $existing_columns) && isset($_POST['mobile'])) { $mobile = mysqli_real_escape_string($conn, $_POST['mobile']); $updates[] = "mobile = '$mobile'"; } if (in_array('email', $existing_columns) && isset($_POST['email'])) { $email = mysqli_real_escape_string($conn, $_POST['email']); $updates[] = "email = '$email'"; } if (in_array('address', $existing_columns) && isset($_POST['address'])) { $address = mysqli_real_escape_string($conn, $_POST['address']); $updates[] = "address = '$address'"; } if (in_array('session', $existing_columns) && isset($_POST['session'])) { $session = mysqli_real_escape_string($conn, $_POST['session']); $updates[] = "session = '$session'"; } if (in_array('medium', $existing_columns) && isset($_POST['medium'])) { $medium = mysqli_real_escape_string($conn, $_POST['medium']); $updates[] = "medium = '$medium'"; } if (in_array('city', $existing_columns) && isset($_POST['city'])) { $city = mysqli_real_escape_string($conn, $_POST['city']); $updates[] = "city = '$city'"; } if (in_array('district', $existing_columns) && isset($_POST['district'])) { $district = mysqli_real_escape_string($conn, $_POST['district']); $updates[] = "district = '$district'"; } if (in_array('state', $existing_columns) && isset($_POST['state'])) { $state = mysqli_real_escape_string($conn, $_POST['state']); $updates[] = "state = '$state'"; } if (in_array('pincode', $existing_columns) && isset($_POST['pincode'])) { $pincode = mysqli_real_escape_string($conn, $_POST['pincode']); $updates[] = "pincode = '$pincode'"; } if (in_array('admission_date', $existing_columns) && isset($_POST['admission_date'])) { $admission_date = mysqli_real_escape_string($conn, $_POST['admission_date']); $updates[] = "admission_date = '$admission_date'"; } // Handle photo upload if (in_array('photo', $existing_columns) && isset($_FILES['photo']) && $_FILES['photo']['error'] == 0) { $upload_dir = 'uploads/students/'; if (!is_dir($upload_dir)) { mkdir($upload_dir, 0777, true); } // Delete old photo $old_photo_query = $conn->query("SELECT photo FROM students WHERE id = $id"); if ($old_photo = $old_photo_query->fetch_assoc()) { if (!empty($old_photo['photo']) && file_exists($old_photo['photo'])) { unlink($old_photo['photo']); } } $file_ext = pathinfo($_FILES['photo']['name'], PATHINFO_EXTENSION); $photo_path = $upload_dir . 'STU_' . $id . '_' . time() . '.' . $file_ext; if (move_uploaded_file($_FILES['photo']['tmp_name'], $photo_path)) { $updates[] = "photo = '$photo_path'"; } } if (!empty($updates)) { $update_query = "UPDATE students SET " . implode(', ', $updates) . " WHERE id = $id"; if ($conn->query($update_query)) { header("Location: students-list.php?msg=updated"); exit(); } else { $error_message = "Error updating student: " . $conn->error; } } else { $error_message = "No fields to update!"; } } // Fetch student details $query = "SELECT * FROM students WHERE id = $id"; $result = $conn->query($query); if (!$result || $result->num_rows == 0) { header("Location: students-list.php?msg=notfound"); exit(); } $student = $result->fetch_assoc(); // Get current class_id from class name $current_class_id = ''; if (!empty($student['class'])) { foreach($classes_list as $cls) { if ($cls['class_name'] == $student['class']) { $current_class_id = $cls['id']; break; } } } $page_title = 'Edit Student'; $page_subtitle = 'Update Student Details - Punjab State Open School'; include 'includes/header.php'; include 'includes/sidebar.php'; ?>
🏛️ Punjab State Open School, Hoshiarpur - Update Student Details