【发布时间】:2019-04-08 20:47:22
【问题描述】:
我有一个日期预订表单,其中包括两个输入字段:开始日期选择器和结束日期选择器。我正在尝试使用选择查询禁用已经预订并从 MySQL 数据库中提取的日期。查询结果存储在一个数组中。每次用户提交表单时,不应允许下一个用户预订前一个用户已经预订的相同日期。最大的问题是我的脚本出于某种未知原因仅禁用了数据库中最后插入的日期范围。我的目标是禁用存储在数组中的所有先前预订的日期。我已经尝试将查询结果分配给 foreach 循环中的数组 $datesBooked[] = $row2['dateRange'];但有了这个想法,没有一个日期被禁用。
<?php
//My php script
$statement1 = $pdo->query("SELECT dateRange FROM bookings");
$statement1->execute();
$datesBooked = [];
foreach($statement1 as $row2){
$datesBooked = $row2['dateRange'];
//print_r($datesBooked);
}
?>
$(document).ready(function(){
//My javascript
$('#dateStart').datepicker({
dateFormat: "yy-mm-dd",
minDate: new Date(),
beforeShowDay: function(date){
var enableDays1 = <?php echo json_encode($datesBooked);?>;
var formattedDate = jQuery.datepicker.formatDate("yy-mm-dd", date);
if(enableDays1.indexOf(formattedDate)==-1){
return[true,'markHoliday2'];
}else{
return[false];
}
},
});
$('#dateEnd').datepicker({
dateFormat: "yy-mm-dd",
minDate: new Date(),
beforeShowDay: function(date){
var enableDays1 = <?php echo json_encode($datesBooked);?>;
var day = date.getDay();
var formattedDate = jQuery.datepicker.formatDate("yy-mm-dd", date);
if(enableDays1.indexOf(formattedDate)==-1){
return[true,'markHoliday2'];
}else{
return[false];
}
},
});
});
【问题讨论】:
标签: javascript php