Refine the fligth search:
[Project_webapp.git] / includes / formsearch.php
index 951bef1e546da3e6f311a6a8c32638fcdb818ea0..7796f0691ae75452042e1ee02ae7906e228a46bf 100644 (file)
@@ -1,5 +1,4 @@
 <?php
-
 $form_departure_city = filter_input(INPUT_POST, "departure_city", FILTER_SANITIZE_STRING);
 $form_departure_date = filter_input(INPUT_POST, "departure_date", FILTER_SANITIZE_STRING);
 $form_arrival_city = filter_input(INPUT_POST, "arrival_city", FILTER_SANITIZE_STRING);
@@ -31,6 +30,13 @@ if ($oArrivalDate <= $oDepartureDate) {
     $input_failure = true;
 }
 
+if (empty($form_arrival_date)) {
+    // Limit to a 6 months interval from the departure date.
+    $oArrivalDate = $oDepartureDate;
+    $oArrivalDate->add(new DateInterval("P6M"));
+    $form_arrival_date = $oArrivalDate->format('Y-m-d\TH:i');
+}
+
 ?>
 
 <h1> Rechercher un vol </h1>
@@ -39,13 +45,51 @@ if ($oArrivalDate <= $oDepartureDate) {
  <input type="hidden" name="form" value="search" />
  <input type="hidden" name="date_now" value="<?php echo $form_date_now; ?>" />
  <label> De&#769;part : Ville -> </label>
- <input type="text" size="15" name="departure_city" value="<?php echo $form_departure_city; ?>" required/>
+ <select size="1" name="departure_city" required>
+  <optgroup label="Se&#769;lectionner une ville">
+ <?php
+ $sql_pquery = "select distinct VilleD from VOLS";
+ global $connection;
+ $connection->prepare_query($sql_pquery);
+ $connection->run_prepared_query();
+ $connection->get_pquery_result();
+ $cities = $connection->get_result_array();
+ $connection->close_prepared_query();
+ foreach ($cities as $city) {
+     if (strcmp($city[0], $form_departure_city) === 0) {
+         echo "<option value=\"$city[0]\" selected>$city[0]</option>\n";
+     } else {
+         echo "<option value=\"$city[0]\">$city[0]</option>\n";
+     }
+ }
+ ?>
+  </optgroup>
+ </select>
  <label> Date -> </label>
  <input type="datetime-local" name="departure_date" value="<?php echo $form_departure_date; ?>" required/>
  <label> Arrive&#769;e : Ville -> </label>
- <input type="text" size="15" name="arrival_city" value="<?php echo $form_arrival_city; ?>" required/>
+ <select size="1" name="arrival_city" required>
+  <optgroup label="Se&#769;lectionner une ville">
+ <?php
+ $sql_pquery = "select distinct VilleA from VOLS";
+ global $connection;
+ $connection->prepare_query($sql_pquery);
+ $connection->run_prepared_query();
+ $connection->get_pquery_result();
+ $cities = $connection->get_result_array();
+ $connection->close_prepared_query();
+ foreach ($cities as $city) {
+     if (strcmp($city[0], $form_arrival_city) === 0) {
+         echo "<option value=\"$city[0]\" selected>$city[0]</option>\n";
+     } else {
+         echo "<option value=\"$city[0]\">$city[0]</option>\n";
+     }
+ }
+ ?>
+  </optgroup>
+ </select>
  <label> Date -> </label>
- <input type="datetime-local" name="arrival_date" value="<?php echo $form_arrival_date; ?>" required/>
+ <input type="datetime-local" name="arrival_date" <?php if (isset($form_arrival_date)) echo "value=\"$form_arrival_date\"";?> />
  <input type="submit" value="Valider">
 </form>
 <br>
@@ -97,7 +141,7 @@ if (!$input_failure) {
                           <input type=\"number\" name=\"nb_place\" min=\"1\" max=\"9\" value=\"1\" required/>
                           <label> Vol retour : </label>
                           <input type=\"checkbox\" name=\"return_flight\" checked required/>
-                          <input type=\"submit\" value=\"Reserver\">
+                          <input type=\"submit\" value=\"Re&#769;server\">
                         </form>
                       </td>\n";
             echo "  </tr>\n";