DateTime验证在下拉列表php中



我正在从数据库中包含值的下拉列表中的验证。现在,我可以在下拉列表中查看值,但是现在我坚持对其进行验证。下拉列表中的值以日期时间格式,例如(2019-04-02 07:21:34(。

现在,我有两个下拉列表,带有标签" to:"one_answers"来自:"基本上我想做的是,如果我在第一个下拉列表中选择了日期,请说2019-02-02和AT我选择的第二个是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>

包括JS,并在任何下拉列表上进行调用更改事件。
首先,将ID分配给您的下拉列表" from_date"one_answers" to_date"。

每当从溺水中选择任何溺水时,代码都会运行。它将检查两个日期不是空的,然后继续进行。在下一个条件下,如果from_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>

是示例,您可以编写一个JavaScript代码,将dateTime转换为时间戳,使用时间戳进行比较:

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

按下提交按钮时,调用此功能

最新更新