2016-12-11 2 views
0

У меня есть таблица с событиями и вы хотите перечислить все события на основе диапазона дат, который пользователь выбрал. Я использую jQuery datepicker, беру из него значение и помещаю в sql-запрос, чтобы показать, что события будут выбраны в диапазоне дат. Мой формат даты - YYYY-mm-dd (f.e 2016-05-05), но когда я выбираю дату из набора даты, он приходит как (YYYY-05-05). По какой-то причине он не конвертирует yyyy на сегодняшний день, но делает это месяц и день. Вот мой код:получить значение запроса из jQuery date picker (формат вопроса)

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
<link rel="stylesheet" href="/resources/demos/style.css"> 

<script> 
$(function() { 
var firstdate = $('#firstdatepicker').datepicker({ dateFormat: 'YYYY- mm-dd' }).val(); 
}); 
</script> 


<script> 
$(function() { 
var lastdate = $('#lastdatepicker').datepicker({ dateFormat: 'YYYY-mm- dd' }).val(); 
}); 
</script> 
</head> 
<body> 
<form method="post" action="archive.php"> 
    <p>First Date: <input name = "firstdatepicker" type="text" id="firstdatepicker"></p> 

<p>Last Date: <input name = "lastdatepicker" type="text" id="lastdatepicker"></p> 

<input type="submit" value="Get Data" name="data"/> 

</form> 

И мой запрос в PHP

if(!isset($_POST['filters']) && isset($_POST['firstdatepicker']) && isset($_POST['lastdatepicker'])){ 

$firstdate = $_POST['firstdatepicker']; 
$lastdate = $_POST['lastdatepicker']; 

$query= "SELECT * 
     FROM Event 
     WHERE Event.`start_date` BETWEEN '$firstdate' and '$lastdate' 
     ORDER BY start_date DESC"; 

}

+0

Пожалуйста, см DOC относительно допустимого формата даты –

ответ

2

YYYY не действительный формат даты, вы должны использовать yy (две строчные буквы у)

также, просто предложение - вы должны избегать ввода пользователем (post) с какой-либо функцией, например mysqli_real_escape_string или любым другим, ур соединение SQL

0

Используйте уу как 4-значный год заполнителем: dateFormat: "yy-mm-dd"

Смежные вопросы