проверки даты и времени в выпадающем списке PHP - PullRequest
1 голос
/ 17 мая 2019

Я работаю над проверкой в ​​моем раскрывающемся списке, который содержит значения из моей базы данных. Теперь я могу просмотреть значения в раскрывающемся списке, но теперь я застрял с проверкой. значения в раскрывающемся списке представлены в формате даты и времени, например (2019-04-02 07:21:34).

Теперь у меня есть два выпадающих списка с метками «Кому» и «От:». В основном я хочу сделать следующее: если я выбрал дату в первом выпадающем списке, скажем, 2019-02-02 и 2-й я выбрал 2019-01-01, и когда я нажимаю кнопку, она не должна быть действительной, потому что она в обратном направлении, и должно появиться сообщение о том, что введенные мною даты недействительны. Я не понимаю, что делать, потому что формат содержит дефисы и двоеточия.

<?php

  $hostname = "localhost";
  $username = "root";
  $password = "";
  $databaseName = "it180p";

  $connect = mysqli_connect($hostname, $username, $password, $databaseName);
  $query = "SELECT * FROM `incidentreport` ORDER BY dateTime DESC";


  $result1 = mysqli_query($connect, $query);


  $result2 = mysqli_query($connect, $query);

  $options = "";

  while($row2 = mysqli_fetch_array($result2))
  {
      $options = $options."<option>$row2[6]</option>";
  }

?>
        To:
        <select>
          <option disabled selected value> - select start of date - </option>
            <?php while($row1 = mysqli_fetch_array($result1)):;?>          
            <option value="<?php echo $row1[0];?>"><?php echo $row1[6];?></option>
            <?php endwhile;?>
        </select>
        From:
        <select>
          <option disabled selected value> - select end of date - </option>
            <?php echo $options;?>
        </select>

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Включите js и событие изменения вызова в любом раскрывающемся списке.
Прежде всего, присвойте идентификаторы вашим раскрывающимся спискам "from_date" и "to_date".

Когда когда-либо значение из любой капли тонетвыбранный выше код будет работать.Он проверит, что обе даты не пусты, и продолжит.В следующем состоянии будет показано предупреждение, если from_date больше или равно to_date.

$(document).ready(function(){


  $('#from_date, #to_date').on('change', function(){


     var from_date =  $('#from_date').val();
     var to_date=  $('#to_date').val();

     // if both the fields are not empty
     if((Date.parse(from_date ) >= Date.parse(to_date))){

         alert("End date should be greater than Start date");
         //if End date is not value, deselect the selected date
         $('#to_date').val('');

         return false;
     }

  });// Change

});// Ready
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Start Date<br>
        <select id="from_date">
          <option> - select start of date - </option>
           <option value="2019-01-01"> 2019-01-01 </option>
           <option value="2019-01-15"> 2019-01-15 </option>
           <option value="2019-01-28"> 2019-01-28 </option>
        </select>
        
        
        <br><br>End Date<br>
        <select id="to_date">
          <option> - select end of date - </option>
           <option value="2017-08-29"> 2017-08-29 </option>
           <option value="2018-04-15"> 2018-04-15 </option>
           <option value="2019-05-17"> 2019-05-17 </option>
        </select>
0 голосов
/ 17 мая 2019

Это пример, вы можете написать код JavaScript, конвертировать дату и время в метку времени, использовать метку времени для сравнения:

function a(fromDateTime,toDateTime){
    var fromTimestamp = new Date(fromDateTime).getTime()
    var toTimestamp = new Date(toDateTime).getTime()
    if (fromTimestamp > toTimestamp) {
        console.log("xxxxx")
        return
    }
}

когда нажимаете кнопку подтверждения, вызывайте эту функцию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...