Avoid also to modify a full flight.
[Project_webapp.git] / includes / modify.php
index 045d84acfe511c93b11a0cc955c09d917311b9cc..cd37c239ad80c549def4ca098b5ef7aae369f096 100644 (file)
@@ -21,13 +21,39 @@ $connection->run_prepared_query();
 $connection->get_pquery_result();
 $rows = $connection->get_result_array();
 $connection->close_prepared_query();
+$sql_pquery = "select CapAv, sum(NbPlaces) as BookedPlaces
+               from RESERVATIONS, VOLS, AVIONS
+                          where RESERVATIONS.NumVol = VOLS.NumVol and AVIONS.NumAv = VOLS.NumAv and
+               RESERVATIONS.NumVol = ?
+               group by RESERVATIONS.NumVol";
+$connection->prepare_query($sql_pquery);
+$connection->prepared_query_bind_param("s", array($flight_id));
+$connection->run_prepared_query();
+$connection->get_pquery_result();
+$rows_cap = $connection->get_result_array();
+$connection->close_prepared_query();
+//var_dump($rows_cap);
+$booked_places = $rows_cap[0]['BookedPlaces'];
+if (is_null($booked_places)) {
+    $booked_places = 0;
+}
+if (isset($rows_cap[0]['CapAv']) && isset($booked_places)) {
+    $free_places = $rows_cap[0]['CapAv'] - $booked_places;
+} else {
+    $free_places = "Inconnu";
+}
 ?>
+<p> Nombre de places libres : <?php echo $free_places ?> </p>
 <form action="index.php" id="modify" method="post">
   <input type="hidden" name="form" value="modify" />
   <input type="hidden" name="flight_id" value="<?php echo $rows[0]['NumVol'] ?>" />
   <input type="hidden" name="previous_class_name" value="<?php echo $rows[0]['Classe'] ?>" />
-  <label> Nombre de place(s) : </label>
-  <input type="number" name="nb_place" min="1" max="9" value="<?php echo $rows[0]['NbPlaces'] ?>" required/>
+  <?php
+  if ($free_places !== 0 || $free_places === "Inconnu") {
+      echo "  <label> Nombre de place(s) : </label>\n";
+      echo "  <input type=\"number\" name=\"nb_place\" min=\"1\" max=\"9\" value=\"" . $rows[0]['NbPlaces'] . "\" required/>\n";
+  }
+  ?>
   <label> Classe : </label>
   <select size="1" name="class_name" required>
    <optgroup label="Se&#769;lectionner une classe">