为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查是否已在 2 个日期之间收取租金

如何检查是否已在 2 个日期之间收取租金

PHP
有只小跳蛙 2021-06-30 18:21:01
我正在尝试比较租金开始和租金结束的两个日期,但数据库中的某些车辆可能已经在这些日期租用我已经有一个代码阻止用户在两个日期之间预订汽车,但在那之后它仍然被阻止if( empty($content) ){        extract($_POST); // here i extract my _post        if( !empty($idmembre) ){            $vehicule = execReq( "SELECT * FROM vehicule WHERE idvehicule=:idvehicule", array(                'idvehicule' => $idvehicule            ));            $infoVehicule = $vehicule->fetch();            $agence = $infoVehicule['agences_idagences'];            $timestamp1 = strtotime($date_heure_depart);            $timestamp2 = strtotime($date_heure_fin); // here i create two timestamps to compare with what i have en my database            $date_deja_prise = execReq( "SELECT * FROM commande WHERE vehicule_idvehicule=:idvehicule", array(                'idvehicule' => $idvehicule            ));            while( $date = $date_deja_prise->fetch() ){                if( !empty($date) ){ // here if one vehicle has a date of rent it checks evry one to check if the date is taken                    $date_debut = strtotime($date['date_heure_depart']);                    $date_fin = strtotime($date['date_heure_fin']);                    if( ($date_debut <= $timestamp1 || $timestamp2 <= $date_fin) ){                        $content .= '<div class="alert alert-danger">Le véhicule '.$infoVehicule['titre'].' est déjà louer du '.$date['date_heure_depart'].' au '.$date['date_heure_fin'].' inclu</div>';                    }                }            }所以基本上它可以在我的 phpmyadmin 页面中创建一行,在那里预订汽车一段时间,之后如果我尝试预订另一辆车,但所有日期都不同,我不能
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

我认为你的问题是这条线if( ($date_debut <= $timestamp1 || $timestamp2 <= $date_fin) ){。您只检查新开始时间是否 <= 比现有开始时间,以及新结束时间是否 >= 比现有开始时间。您需要检查开始日期或结束日期是否在现有日期之间。

if( ($date_debut <= $timestamp2 && $timestamp1 <= $date_fin) ){


查看完整回答
反对 回复 2021-07-02
  • 1 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信