Php 如果有人检查可用性,如何在数据库中现有日期之间的日历保留中进行验证 $begin=newdatetime(日期(“Y-m-d”,strottime($results->arrival)); $end=新的日期时间(日期(“Y-m-d”,strottime($results->execution)); $interval=DateInterval::createFromDateString('1天'); $period=newdateperiod($begin,$interval,$end); foreach(期间为$dt){ $begin=$results->到达; $end=$results->离开; 如果($begin==$results->到达和$end===$results->离开){ echo“此日期不可用”; }否则{ 回显“$”(\”#myForm\).submit();”; } }

Php 如果有人检查可用性,如何在数据库中现有日期之间的日历保留中进行验证 $begin=newdatetime(日期(“Y-m-d”,strottime($results->arrival)); $end=新的日期时间(日期(“Y-m-d”,strottime($results->execution)); $interval=DateInterval::createFromDateString('1天'); $period=newdateperiod($begin,$interval,$end); foreach(期间为$dt){ $begin=$results->到达; $end=$results->离开; 如果($begin==$results->到达和$end===$results->离开){ echo“此日期不可用”; }否则{ 回显“$”(\”#myForm\).submit();”; } },php,jquery,ajax,Php,Jquery,Ajax,创建这样的查询(如果您使用的是mysql)。只需使用两个日期调用此函数 $begin = new DateTime( date ( "Y-m-d",strtotime( $results->arrival ) ) ); $end = new DateTime( date ( "Y-m-d",strtotime( $results->departure ) ) ); $interval = DateInterval::createFromDateString('1 day'); $p

创建这样的查询(如果您使用的是mysql)。只需使用两个日期调用此函数

$begin = new DateTime( date ( "Y-m-d",strtotime( $results->arrival ) ) );
$end = new DateTime( date ( "Y-m-d",strtotime( $results->departure ) ) );

$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);

foreach ( $period as $dt ) {
    $begin = $results->arrival;
    $end = $results->departure;


    if($begin == $results->arrival &&  $end == $results->departure ){
        echo 'This date is not available';
    } else {
        echo '<script type="text/javascript">$(\'#myForm\').submit();</script>';
    }
}

我的主要问题是,如果有人在现有日历的范围日期(例如6月30日至7月17日(已存在)…和7月1日至7月15日之间预订了想要预订的新客户。。我想这也使这个日期是不可用的你想检查一个用户已经预订了一天?你使用的是mysql吗???嗨,fasil kk,我有已经存在的范围日期的验证。我只想得到验证,如果有人试图预订之间的日期已经存在。我正在使用WAMMPServer2.2,WordPress请检查我的MySql查询。如果日期已预订,则返回。是的,已预订的日期已返回。如果有人在现有日期范围之间预订了一本书,我如何才能设置无效条件检查更新答案。嗨,Fasil kk,谢谢你提出的想法。。欢迎光临。请更新此问题,并进行小说明。这可能对其他人有帮助。:)
 public function is_booked_date($check_in_date, $check_out_date)
    {
        $query = "SELECT count(id) FROM booking 
        where ((check_in_date BETWEEN '" . $check_in_date . "' AND '" . $check_out_date . "' 
        OR check_out_date  BETWEEN '" . $check_in_date . "' AND '" . $check_out_date . "') 
        OR('$check_in_date' <= check_in_date AND '$check_out_date' >= check_in_date)) ;"; 

        return $this -> db -> query($query) -> result();

    }
$check_in_date='';// your date
$check_out_date='';//your date
if($this->is_booked_date($check_in_date, $check_out_date))
{
  //Date already booked

}
else
{
   //New booking possible
}