Merge branch 'main' of github.com:nonot345/SAE_203_Gestion_des_sauveteurs
This commit is contained in:
commit
f00c74c3c9
7 changed files with 78 additions and 43 deletions
|
|
@ -1,8 +1,15 @@
|
|||
<?php
|
||||
|
||||
require 'model.php';
|
||||
function planning_afficher_ctrl() {
|
||||
require('models/connection.php');
|
||||
$c = connection();
|
||||
require('models/planning_model.php');
|
||||
|
||||
$couleurs = [
|
||||
$date = $_GET['date'] ?? date('Y-m-d');
|
||||
$sauveteurs = get_all_sauveteurs($c);
|
||||
$missions = get_missions_by_date($c, $date);
|
||||
|
||||
$couleurs = [
|
||||
'Sauveteur disponible' => '#2ecc71',
|
||||
'Sauveteur en approche de la cavité' => '#9b59b6',
|
||||
'Sauveteur sous terre' => '#8B4513',
|
||||
|
|
@ -10,21 +17,20 @@ $couleurs = [
|
|||
"Sauveteur en mission à l'extérieur" => '#e67e22',
|
||||
'Sauveteur en repos' => '#3498db',
|
||||
'Sauveteur en brancardage civière' => '#e74c3c',
|
||||
];
|
||||
];
|
||||
|
||||
$creneaux = [];
|
||||
for ($min = 8 * 60; $min < 20 * 60; $min += 30) {
|
||||
$creneaux = [];
|
||||
for ($min = 8 * 60; $min < 20 * 60; $min += 30) {
|
||||
$creneaux[] = sprintf('%02d:%02d', intdiv($min, 60), $min % 60);
|
||||
}
|
||||
}
|
||||
|
||||
// Indexer les sauveteurs par ID pour accès rapide à la spécialité
|
||||
$sauveteursById = [];
|
||||
foreach ($sauveteurs as $s) {
|
||||
$sauveteursById = [];
|
||||
foreach ($sauveteurs as $s) {
|
||||
$sauveteursById[$s['ID_Sauveteur']] = $s;
|
||||
$grille[$s['ID_Sauveteur']]= array_fill_keys($creneaux, false);
|
||||
}
|
||||
$grille[$s['ID_Sauveteur']] = array_fill_keys($creneaux, false);
|
||||
}
|
||||
|
||||
foreach ($missions as $m) {
|
||||
foreach ($missions as $m) {
|
||||
$id = $m['ID_Sauveteur'];
|
||||
if (!isset($grille[$id])) continue;
|
||||
|
||||
|
|
@ -40,6 +46,8 @@ foreach ($missions as $m) {
|
|||
$grille[$id][$c] = $couleur;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
require 'view.php';
|
||||
require('views/planning_view.php');
|
||||
planning_view($sauveteurs, $creneaux, $grille, $date);
|
||||
}
|
||||
|
|
|
|||
0
controllers/operation_ctrl.php
Normal file
0
controllers/operation_ctrl.php
Normal file
10
index.php
10
index.php
|
|
@ -66,9 +66,16 @@
|
|||
break;
|
||||
|
||||
case 'operations':
|
||||
require('views/operations_view.php');
|
||||
require('controllers/operation_ctrl.php');
|
||||
operations_form_ctrl();
|
||||
break;
|
||||
|
||||
<<<<<<< HEAD
|
||||
case 'add_operation':
|
||||
require('controllers/operation_ctrl.php');
|
||||
add_operation_write_ctrl();
|
||||
break;
|
||||
=======
|
||||
case 'lecture':
|
||||
require('views/lecture_page.php');
|
||||
break;
|
||||
|
|
@ -77,6 +84,7 @@
|
|||
require('controllers/lecture_page_ctrl.php');
|
||||
break;
|
||||
|
||||
>>>>>>> c98d36d6ee22b1cc45aaf2d55c29677ea8c56d65
|
||||
default:
|
||||
require('views/404_view.php');
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
|
||||
|
|
@ -1,12 +1,25 @@
|
|||
<?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);
|
||||
|
||||
|
|
|
|||
0
models/operation_crud.php
Normal file
0
models/operation_crud.php
Normal file
|
|
@ -1,3 +1,7 @@
|
|||
<?php
|
||||
|
||||
function planning_view(array $sauveteurs, array $creneaux, array $grille, string $date) {
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head><meta charset="UTF-8"><title>Planning</title></head>
|
||||
|
|
@ -23,5 +27,8 @@
|
|||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue