diff --git a/code/attendance.php b/code/attendance.php new file mode 100644 index 0000000000000000000000000000000000000000..f2d0827faf3fccb255388428a21ab8cc66c833a0 --- /dev/null +++ b/code/attendance.php @@ -0,0 +1,98 @@ +<?php +// Inclure la configuration de la base de données +require 'config.php'; +session_start(); +// Récupérer les sessions +$sessions = $conn->query("SELECT s.id, s.subject, s.start_time, s.end_time, u.first_name, u.last_name + FROM Session s + JOIN User u ON s.tutor_id = u.id + ORDER BY s.start_time"); + +$user = $_SESSION['user']; + +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['attendance'])) { + $session_id = $_POST['session_id']; + $student_id = $_POST['student_id']; + $attendance = $_POST['attendance']; + + // Mettre à jour l'état de présence + $stmt = $conn->prepare("UPDATE SessionStudent SET attendance = ? WHERE session_id = ? AND student_id = ?"); + $stmt->bind_param('iii', $attendance, $session_id, $student_id); + if ($stmt->execute()) { + echo "Présence mise à jour avec succès."; + } else { + echo "Erreur lors de la mise à jour : " . $stmt->error; + } + $stmt->close(); +} +?> + +<!DOCTYPE html> +<html lang="fr"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Gestion des présences</title> + <link rel="stylesheet" href="style.css"> +</head> +<body> + <?php include 'sidebar.php'; ?> + + <div class="main-content"> + <div class="attendance-page"> + <h1>Gestion des présences</h1> + + <?php if ($sessions->num_rows > 0): ?> + <?php while ($session = $sessions->fetch_assoc()): ?> + <h2>Session : <?= htmlspecialchars($session['subject']) ?></h2> + <p>Tuteur : <?= htmlspecialchars($session['first_name'] . " " . $session['last_name']) ?></p> + <p>Heure : <?= htmlspecialchars($session['start_time']) ?> - <?= htmlspecialchars($session['end_time']) ?></p> + + <?php + // Récupérer les étudiants inscrits à cette session + $students = $conn->query("SELECT ss.student_id, ss.attendance, u.first_name, u.last_name + FROM SessionStudent ss + JOIN User u ON ss.student_id = u.id + WHERE ss.session_id = " . $session['id']); + ?> + <?php if ($students->num_rows > 0): ?> + <form method="POST"> + <table> + <tr> + <th>Étudiant</th> + <th>Statut actuel</th> + <th>Modifier le statut</th> + </tr> + <?php while ($student = $students->fetch_assoc()): ?> + <tr> + <td><?= htmlspecialchars($student['first_name'] . " " . $student['last_name']) ?></td> + <td> + <?= $student['attendance'] === null ? 'Non défini' : ($student['attendance'] == 1 ? 'Présent' : 'Absent') ?> + </td> + <td> + <select name="attendance"> + <option value="" <?= $student['attendance'] === null ? 'selected' : '' ?>>Non défini</option> + <option value="1" <?= $student['attendance'] == 1 ? 'selected' : '' ?>>Présent</option> + <option value="0" <?= $student['attendance'] === '0' ? 'selected' : '' ?>>Absent</option> + </select> + <input type="hidden" name="session_id" value="<?= $session['id'] ?>"> + <input type="hidden" name="student_id" value="<?= $student['student_id'] ?>"> + <button type="submit">Mettre à jour</button> + </td> + </tr> + <?php endwhile; ?> + </table> + </form> + <?php else: ?> + <p>Aucun étudiant inscrit pour cette session.</p> + <?php endif; ?> + <?php endwhile; ?> + <?php else: ?> + <p>Aucune session trouvée.</p> + <?php endif; ?> + + <?php $conn->close(); ?> +</div> +</div> +</body> +</html>