137 lines
6.2 KiB
PHP
137 lines
6.2 KiB
PHP
<?php include('includes/header.php');
|
|
if(!isset($_SESSION['id'])){
|
|
header('Location: index.php');
|
|
}
|
|
?>
|
|
<div>
|
|
<div class="card card-body p-4">
|
|
<?= alertMessage(); ?>
|
|
|
|
<?php
|
|
$ID = $_SESSION['id'];
|
|
if (!is_numeric($ID)) {
|
|
echo '<div class="alert alert-danger" role="alert">' . $ID . '</div>';
|
|
return false;
|
|
}
|
|
|
|
$registration = getById('tbl_registrations', $ID);
|
|
if ($registration['status'] == 200) {
|
|
// Abfrage, um die Anzahl der Lektionen der zugewiesenen Kurse abzurufen
|
|
$assignedLessonCount = 0;
|
|
$assignedCoursesQuery = "SELECT course_id FROM tbl_assign_courses WHERE user_id = $ID";
|
|
$assignedCoursesResult = mysqli_query($conn, $assignedCoursesQuery);
|
|
|
|
// Array zum Speichern der bereits zugewiesenen Kurs-IDs
|
|
$assignedCourseIds = [];
|
|
|
|
if ($assignedCoursesResult && mysqli_num_rows($assignedCoursesResult) > 0) {
|
|
while ($row = mysqli_fetch_assoc($assignedCoursesResult)) {
|
|
$assignedCourseIds[] = $row['course_id'];
|
|
$courseId = $row['course_id'];
|
|
$courseQuery = "SELECT lessons FROM tbl_courses WHERE id = $courseId AND (name = 'Englisch' OR name = 'Französisch')";
|
|
$courseResult = mysqli_query($conn, $courseQuery);
|
|
if ($courseResult && mysqli_num_rows($courseResult) > 0) {
|
|
$courseRow = mysqli_fetch_assoc($courseResult);
|
|
$assignedLessonCount += $courseRow['lessons'];
|
|
}
|
|
}
|
|
}
|
|
|
|
// Basisanzahl an Lektionen
|
|
$baseLessonCount = 22;
|
|
|
|
// Gesamtanzahl der Lektionen
|
|
$totalLessonCount = $baseLessonCount + $assignedLessonCount;
|
|
?>
|
|
|
|
<div class="row">
|
|
<div class="col-6">
|
|
<h4 class="fw-semibold mb-4">Kurse</h4>
|
|
</div>
|
|
</div>
|
|
|
|
<form action="code.php" method="POST" id="courseForm">
|
|
<input type="hidden" name="id" value="<?= $registration['data']['id'] ;?>" required>
|
|
<div class="table-responsive">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Kurs</th>
|
|
<th>Lektionen</th>
|
|
<th><i class="ti ti-square-check"></i></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
// Abfrage, um Kurse abzurufen, die nicht Englisch oder Französisch heißen
|
|
$query = "SELECT id, name, lessons FROM tbl_courses WHERE name <> 'Englisch' AND name <> 'Französisch'";
|
|
$result = mysqli_query($conn, $query);
|
|
|
|
// Tabelle mit Kursen erstellen, wenn die Abfrage erfolgreich war
|
|
if ($result && mysqli_num_rows($result) > 0) {
|
|
while ($row = mysqli_fetch_assoc($result)) {
|
|
echo '<tr>';
|
|
echo '<td>' . $row['name'] . '</td>';
|
|
echo '<td>' . $row['lessons'] . '</td>';
|
|
// Überprüfen, ob der Kurs bereits zugewiesen ist, und die Checkbox entsprechend auswählen
|
|
echo '<td><input type="checkbox" name="selected_courses[]" value="' . $row['id'] . '"' . (in_array($row['id'], $assignedCourseIds) ? ' checked' : '') . '></td>';
|
|
echo '</tr>';
|
|
}
|
|
} else {
|
|
// Wenn keine passenden Kurse gefunden wurden
|
|
echo '<tr><td colspan="3">Keine Kurse gefunden.</td></tr>';
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="col-md-12 mt-4">
|
|
<!-- Anzeige für die Anzahl der ausgewählten Lektionen -->
|
|
<p>Du darfst zwischen 32 und 36 Lektionen haben, du hast </p>
|
|
<u><h6 id="lessonCount"><?= $totalLessonCount; ?></h6></u>
|
|
<button type="submit" name="sek" class="btn btn-info float-end mx-1" id="submitButton" <?= ($totalLessonCount >= 32 && $totalLessonCount <= 36) ? '' : 'disabled'; ?>>Weiter<i class="ti ti-arrow-right ms-2"></i> </button>
|
|
</div>
|
|
</form>
|
|
<?php
|
|
}
|
|
?>
|
|
</div>
|
|
</div>
|
|
<?php include('includes/footer.php'); ?>
|
|
|
|
<script>
|
|
// Funktion zum Aktualisieren der Anzahl der ausgewählten Lektionen und Überprüfen der Gültigkeit
|
|
function updateLessonCount() {
|
|
// Höre auf Änderungen in den Checkboxen
|
|
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
|
|
|
|
// Zähle die Anzahl der ausgewählten Lektionen
|
|
var lessonCount = <?= $totalLessonCount; ?>; // Basisanzahl an Lektionen
|
|
checkboxes.forEach(function(cb) {
|
|
if (cb.checked) {
|
|
// Wenn die Checkbox ausgewählt ist, füge die Anzahl der Lektionen hinzu
|
|
lessonCount += parseInt(cb.parentNode.previousElementSibling.textContent);
|
|
}
|
|
});
|
|
|
|
// Aktualisiere den Text neben dem Weiter-Knopf
|
|
var lessonCountDisplay = document.getElementById('lessonCount');
|
|
lessonCountDisplay.textContent = lessonCount;
|
|
|
|
// Überprüfe, ob die Anzahl der ausgewählten Lektionen zwischen 32 und 36 liegt
|
|
var isValidLessonCount = lessonCount >= 32 && lessonCount <= 36;
|
|
|
|
// Aktualisiere den Status des Submit-Buttons basierend auf dem Ergebnis
|
|
document.getElementById('submitButton').disabled = !isValidLessonCount;
|
|
}
|
|
|
|
// Führe die Funktion beim Laden der Seite aus
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
updateLessonCount();
|
|
});
|
|
|
|
// Führe die Funktion bei Änderungen in den Checkboxen aus
|
|
document.addEventListener('change', function() {
|
|
updateLessonCount();
|
|
});
|
|
</script>
|