Merge branch 'main' of github.com:nonot345/SAE_203_Gestion_des_sauveteurs

This commit is contained in:
Poty Thomas 2026-06-08 14:22:03 +02:00
commit f00c74c3c9
7 changed files with 78 additions and 43 deletions

View file

@ -1,6 +1,13 @@
<?php <?php
require 'model.php'; function planning_afficher_ctrl() {
require('models/connection.php');
$c = connection();
require('models/planning_model.php');
$date = $_GET['date'] ?? date('Y-m-d');
$sauveteurs = get_all_sauveteurs($c);
$missions = get_missions_by_date($c, $date);
$couleurs = [ $couleurs = [
'Sauveteur disponible' => '#2ecc71', 'Sauveteur disponible' => '#2ecc71',
@ -17,7 +24,6 @@ for ($min = 8 * 60; $min < 20 * 60; $min += 30) {
$creneaux[] = sprintf('%02d:%02d', intdiv($min, 60), $min % 60); $creneaux[] = sprintf('%02d:%02d', intdiv($min, 60), $min % 60);
} }
// Indexer les sauveteurs par ID pour accès rapide à la spécialité
$sauveteursById = []; $sauveteursById = [];
foreach ($sauveteurs as $s) { foreach ($sauveteurs as $s) {
$sauveteursById[$s['ID_Sauveteur']] = $s; $sauveteursById[$s['ID_Sauveteur']] = $s;
@ -42,4 +48,6 @@ foreach ($missions as $m) {
} }
} }
require 'view.php'; require('views/planning_view.php');
planning_view($sauveteurs, $creneaux, $grille, $date);
}

View file

View file

@ -66,9 +66,16 @@
break; break;
case 'operations': case 'operations':
require('views/operations_view.php'); require('controllers/operation_ctrl.php');
operations_form_ctrl();
break; break;
<<<<<<< HEAD
case 'add_operation':
require('controllers/operation_ctrl.php');
add_operation_write_ctrl();
break;
=======
case 'lecture': case 'lecture':
require('views/lecture_page.php'); require('views/lecture_page.php');
break; break;
@ -77,6 +84,7 @@
require('controllers/lecture_page_ctrl.php'); require('controllers/lecture_page_ctrl.php');
break; break;
>>>>>>> c98d36d6ee22b1cc45aaf2d55c29677ea8c56d65
default: default:
require('views/404_view.php'); require('views/404_view.php');
break; break;

View file

@ -1 +0,0 @@

View file

@ -1,12 +1,25 @@
<?php <?php
$pdo = new PDO('mysql:host=localhost;dbname=projet3_tp1;charset=utf8mb4', 'root', ''); require_once 'config.php';
$date = $_GET['date'] ?? date('Y-m-d'); // Récupère tous les sauveteurs
function get_all_sauveteurs(PDO $c): array {
$req = "SELECT ID_Sauveteur, Nom, Prenom, Specialite FROM Sauveteur ORDER BY Nom, Prenom";
$res = $c->query($req);
$sauveteurs = $res->fetchAll(PDO::FETCH_ASSOC);
$res->closeCursor();
return $sauveteurs;
}
$sauveteurs = $pdo->query('SELECT ID_Sauveteur, Nom, Prenom, Specialite FROM Sauveteur ORDER BY Nom, Prenom')->fetchAll(PDO::FETCH_ASSOC); // Récupère les missions d'une journée
function get_missions_by_date(PDO $c, string $date): array {
$req = "SELECT ID_Mission, DtaHeureDebut, DtaHeureFin, ID_Sauveteur FROM Mission WHERE DATE(DtaHeureDebut) = :date OR DATE(DtaHeureFin) = :date";
$prep = $c->prepare($req);
$prep->bindValue(':date', $date, PDO::PARAM_STR);
$prep->execute();
$missions = $prep->fetchAll(PDO::FETCH_ASSOC);
$prep->closeCursor();
return $missions;
}
$stmt = $pdo->prepare('SELECT ID_Mission, DtaHeureDebut, DtaHeureFin, ID_Sauveteur FROM Mission WHERE DATE(DtaHeureDebut) = ? OR DATE(DtaHeureFin) = ?');
$stmt->execute([$date, $date]);
$missions = $stmt->fetchAll(PDO::FETCH_ASSOC);

View file

View file

@ -1,3 +1,7 @@
<?php
function planning_view(array $sauveteurs, array $creneaux, array $grille, string $date) {
?>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="fr"> <html lang="fr">
<head><meta charset="UTF-8"><title>Planning</title></head> <head><meta charset="UTF-8"><title>Planning</title></head>
@ -23,5 +27,8 @@
</tr> </tr>
<?php endforeach; ?> <?php endforeach; ?>
</table> </table>
</body> </body>
</html> </html>
<?php
}