我正在创建一个使用 jquery ui datepicker 的站点。我有它的项目有不同的租赁长度。所以一辆车可能需要 7 天,而帐篷可能需要 3 天。
当用户输入所需的项目数量时,系统会检查天数是否可用,然后将系统中已经存在的日期数组放在一起。这个数组被传回 jquery ui datepicker 并且这些日期在日历上被屏蔽掉了。
这是我的问题。如果用户选择一个日期范围,例如 2 天。从每月 2 日到 4 日。然后用户返回并想要选择 1 日,显然如果该项目是在 2 日租用的,那么当月 1 日到 3 日的租用 ISNT 可用。
我不知道如何阻止无法提供完整租期的日子。这是我到目前为止创建阻塞日期数组的代码:
$dateArray = array();
foreach($rentals as $rental) {
//Figure out how many days are between the start and end...
$now = strtotime($rental['periodEnd']);
$your_date = strtotime($rental['periodStart']);
$datediff = $now - $your_date;
$daysBetween = floor($datediff/(60*60*24));
$i = 0;
while($i < $daysBetween) {
if($i != 0) {
$date = date('Y-m-d', strtotime($rental['periodStart']. ' + ' . $i . ' days'));
}else {
$date = date('Y-m-d', strtotime($rental['periodStart']));
}
array_push($dateArray, $date);
$i++;
}
}
//Now get rid of duplicates...
$dateArray = array_unique($dateArray);
echo json_encode($dateArray);