Commit 5aaa2b1bc321b57c23e56c07991d7d53925ccbbd
1 parent
c1606691
feat(gestionReservation.php): Ajout de la gestion des reservations par l'administrateur
Showing
2 changed files
with
125 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,122 @@ | @@ -0,0 +1,122 @@ | ||
1 | +<!DOCTYPE html> | ||
2 | +<html> | ||
3 | + <head> | ||
4 | + <meta charset="utf-8"/> | ||
5 | + <title>Gestion des reservations</title> | ||
6 | + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" | ||
7 | + rel="stylesheet" | ||
8 | + integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" | ||
9 | + crossorigin="anonymous"> | ||
10 | + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" | ||
11 | + integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//E1J19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" | ||
12 | + crossorigin="anonymous"> | ||
13 | + </script> | ||
14 | + </head> | ||
15 | + <body> | ||
16 | + <form method="POST" action="menu.php"> | ||
17 | + <button class="btn-lg btn-secondary" type="submit">Retour au menu</button> | ||
18 | + </form> | ||
19 | + <?php | ||
20 | + session_start(); | ||
21 | + if(isset($_SESSION['identifiant'])){ | ||
22 | + $identifiant = $_SESSION['identifiant']; | ||
23 | + }else{ | ||
24 | + echo "<meta http-equiv=\"refresh\" content=\"0;url=index.html\">"; | ||
25 | + } | ||
26 | + include("connexion.php"); | ||
27 | + $requete = "SELECT * FROM banc ORDER BY numero"; | ||
28 | + $exec_requete = mysqli_query($db,$requete); | ||
29 | + $reponse = mysqli_fetch_all($exec_requete); | ||
30 | + if(isset($_POST['txtDate']) && isset($_POST['banc'])){ | ||
31 | + $txtDate = $_POST['txtDate']; | ||
32 | + $banc = $_POST['banc']; | ||
33 | + }else{ | ||
34 | + $txtDate = date("Y-n-j"); | ||
35 | + $banc = $reponse[0][0]; | ||
36 | + /* Verification de la syntaxe de la date */ | ||
37 | + $explosion_date = explode("-",$txtDate); | ||
38 | + $jour = $explosion_date[2]; | ||
39 | + if($jour<10){ | ||
40 | + $jour = "0$jour"; | ||
41 | + $mois = $explosion_date[1]; | ||
42 | + $annee = $explosion_date[0]; | ||
43 | + $txtDate = "$annee-$mois-$jour"; | ||
44 | + } | ||
45 | + } | ||
46 | + ?> | ||
47 | + | ||
48 | + <form method="POST" action="gestionReservation.php"> | ||
49 | + <div class="text-center"> | ||
50 | + <input type="date" name="txtDate" id="txtDate" onchange="this.form.submit();" <?php echo "value=\"$txtDate\""; ?> required> | ||
51 | + </div> | ||
52 | + | ||
53 | + <div class="text-center" style="padding-left: 40rem!important; padding-right: 40rem!important;"> | ||
54 | + Banc choisi : | ||
55 | + <select class="form-select" name="banc" id="banc" onchange="this.form.submit();" required> | ||
56 | + <?php | ||
57 | + foreach($reponse as $value){ | ||
58 | + echo '<option value="'.$value[0].'"'; | ||
59 | + if($banc==$value[0]){ | ||
60 | + echo "selected"; | ||
61 | + } | ||
62 | + echo '>'.$value[0].'</option>'; | ||
63 | + } | ||
64 | + ?> | ||
65 | + </select> | ||
66 | + </div> | ||
67 | + </form> | ||
68 | + <div class="text-center"> | ||
69 | + <?php | ||
70 | + $requete = "SELECT * FROM reservation"; | ||
71 | + $exec_requete = mysqli_query($db,$requete); | ||
72 | + $reponse = mysqli_fetch_all($exec_requete); | ||
73 | + /* Affichage des reservations */ | ||
74 | + echo "<table class='table table-striped'>"; | ||
75 | + echo "<thead>"; | ||
76 | + echo "<tr>"; | ||
77 | + echo "<th>Heure de début</th>"; | ||
78 | + echo "<th>Reservé par</th>"; | ||
79 | + echo "<th></th>"; | ||
80 | + echo "</tr>"; | ||
81 | + echo "</thead>"; | ||
82 | + echo "<tbody>"; | ||
83 | + for($i=0;$i<24;$i++){ | ||
84 | + if($i<10){ | ||
85 | + $heure = "0".$i.":00"; | ||
86 | + }else{ | ||
87 | + $heure = $i.":00"; | ||
88 | + } | ||
89 | + echo "<tr>"; | ||
90 | + echo "<td>$heure</td>"; | ||
91 | + /* Requete pour connaitre l'utilisateur reservant le creneau s'il y en a un */ | ||
92 | + /* Reecriture de la date */ | ||
93 | + $explosion_date = explode("-",$txtDate); | ||
94 | + $jour = $explosion_date[2]; | ||
95 | + $mois = $explosion_date[1]; | ||
96 | + $annee = $explosion_date[0]; | ||
97 | + $new_date = "$jour/$mois/$annee"; | ||
98 | + /* Fin reecriture date */ | ||
99 | + $requete = "SELECT personne FROM reservation WHERE moment='$new_date' AND reserve=$banc AND HEUREDEBUT='$heure'"; | ||
100 | + $exec_requete = mysqli_query($db,$requete); | ||
101 | + $reponse = mysqli_fetch_all($exec_requete); | ||
102 | + echo "<td>".$reponse[0][0]."</td>"; | ||
103 | + if($reponse[0][0]==""){ | ||
104 | + /* TODO : Bonnes redirections vers les bons fichiers */ | ||
105 | + echo "<td><form method='POST' action='supprAppareil.php'><button class='btn-lg btn-danger' type='submit'>Bloquer le créneau</button></form>"; | ||
106 | + }else if($reponse[0][0]=="admin"){ | ||
107 | + echo "<td><form method='POST' action='supprAppareil.php'><button class='btn-lg btn-success' type='submit'>Débloquer le créneau</button></form>"; | ||
108 | + }else{ | ||
109 | + echo "<td><form method='POST' action='supprAppareil.php'><button class='btn-lg btn-danger' type='submit'>Supprimer et bloquer le créneau</button></form>"; | ||
110 | + } | ||
111 | + echo "</tr>"; | ||
112 | + } | ||
113 | + echo "</tbody>"; | ||
114 | + echo "</table>"; | ||
115 | + echo "</form>"; | ||
116 | + mysqli_close($db); | ||
117 | + ?> | ||
118 | + </div> | ||
119 | + </body> | ||
120 | +</html> | ||
121 | + | ||
122 | + |
html/menu.php
@@ -46,6 +46,9 @@ | @@ -46,6 +46,9 @@ | ||
46 | echo "<form method='POST' action='gestionAppareil.php'>"; | 46 | echo "<form method='POST' action='gestionAppareil.php'>"; |
47 | echo "<button class='btn-lg btn-warning' type='submit'>Gestion des appareils</button>"; | 47 | echo "<button class='btn-lg btn-warning' type='submit'>Gestion des appareils</button>"; |
48 | echo "</form>"; | 48 | echo "</form>"; |
49 | + echo "<form method='POST' action='gestionReservation.php'>"; | ||
50 | + echo "<button class='btn-lg btn-warning' type='submit'>Gestion des reservations</button>"; | ||
51 | + echo "</form>"; | ||
49 | } | 52 | } |
50 | ?> | 53 | ?> |
51 | </div> | 54 | </div> |