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);