gpt4 book ai didi

php - 如何检查两个日期之间是否已收取租金

转载 作者:行者123 更新时间:2023-11-29 16:00:16 26 4
gpt4 key购买 nike

我正在尝试比较租金开始和租金结束的两个日期,但数据库中有些车辆可能已经在这些日期租用了

我已经有一个代码可以阻止用户在两个日期之间预订汽车,但之后它仍然被阻止

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>';
}
}
}
if( empty($content) ){
$nb_de_jour_timestamp = $timestamp2 - $timestamp1;
$nb_de_jour = $nb_de_jour_timestamp/86400;
$prix_journalier = $nb_de_jour * $infoVehicule['prix_journalier'];
execReq( "INSERT INTO commande VALUES(NULL, $idmembre, $idvehicule, $agence, :date_heure_depart, :date_heure_fin, $prix_journalier, now())", array(
'date_heure_depart' => date("Y-m-d", $timestamp1),
'date_heure_fin' => date("Y-m-d", $timestamp2)
));
$content = '<div class="alert alert-success">Votre reservation a été effectué !</div>';
}
} else {
$content .= '<div class="alert alert-danger">Pour passer une commande vous devez créer un compte <a href="" data-toggle="modal" data-target="#inscription">cliquez ici</a> pour vous en créer un</div>';
}
}

所以基本上它可以在我的 phpmyadmin 页面中创建一行,其中汽车被预订一段时间,之后如果我尝试预订另一辆车但所有日期都不同我不能

最佳答案

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

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

关于php - 如何检查两个日期之间是否已收取租金,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56240989/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com