我正在为自己实施一个小项目。该项目是一个预订网站。
特别是,当用户访问该网站时,它会编译一个表单:
name
surname
email
object
check-in date
check-out date
两个字段check-in
和check-out
的类型为datepicker。
当用户选择这两个日期时,我希望该网站显示用户可以购买的优惠。
我的问题是这两个日期。如何将JS中的日期值传递给PHP来进行查询并在我的数据库中搜索哪些优惠可供用户购买?
这是我的代码:
JS代码
$(function(){
var self=this;
self.check_next=[0,0];
$('#data_arrivo').datepicker({
minDate:0,
dateFormat: "dd/mm/yy",
onSelect: function (selectedDate) {
var depart = jQuery.datepicker.parseDate('dd/mm/yy', selectedDate);
depart.setDate(depart.getDate() + 1);
$('#data_partenza').datepicker("option", "minDate", depart);
setTimeout(function(){
$('#data_partenza').datepicker('show');
}, 16);
self.check_next[0]=1;
if(check_div(self.check_next))load_date_picker();
}
});
$('#data_partenza').datepicker({
minDate:0,
dateFormat: "dd/mm/yy",
onSelect:function(selectedDate){
self.check_next[1]=1;
if(check_div(self.check_next))load_date_picker();
}
});
});
function check_div(ar){
if(ar[0] && ar[1])return true;
else return false;
}
function load_date_picker(){
$('.show_div').removeClass('hidden');
}
function leggi_dati(){
var data_arrivo = $('#data_arrivo').val();
var nome=$('#cnome').val();
$.ajax({
type: 'POST',
url: '/lavoro/wp-content/themes/rolenzo/page-templates/test-page-template.php',
dataType : "json",
data:$('#commentForm').serialize(),
success:function(data){
console.log("Done");
}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.4/datepicker.js"></script>
<link rel='stylesheet' type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/0.6.4/datepicker.css"/>
<span style="padding-top: 17px; padding-left:7px; display:block; float:left; width:40%; height:10%;">Selezionare Data di arrivo</span>
<p><input style="display:block; float:left; width:60%; height:10%;" type="text" name="data_arrivo" id="data_arrivo" class="datepicker" required></p>
</div>
<div style="float:left; width:100%; height:100%;">
<p><span style="padding-top: 17px; padding-left:7px; display:block; float:left; width:40%; height:10%;">Selezionare Data di partenza</span></p>
<p><input style="display:block; float:left; width:60%; height:10%;" type="text" name="data_partenza" id="data_partenza" class="datepicker" required></p>
</div>
<div class="hidden show_div">
<p style= "text-align:center; font-weight:bold;">Offerte Disponibili nel periodo da Lei selezionato : </p>
<?php
$date = urldecode ($_GET['data_arrivo']);
echo "chosen date is: ".$date;
?>
</div>
答案 0 :(得分:0)
您希望使用正确的格式在js日期使用PHP函数createFromFormat,例如:
$jsDate = $_POST['data_arrivo']
$dateTime = DateTime::createFromFormat('d/m/Y', $jsDate);
然后您应该能够使用$ dateTime来查询您的数据库(假设PHP日期对象将是兼容的)
但请记住,这将在您选择的日期的0:00:00创建一个日期对象,这可能是您想要的,也可能不是。如果你想要包括迄今为止的整天,你需要将迄今为止的时间设置为23:59:59。