2016-12-11 10 views
0

私はイベントを持つテーブルを持っており、ユーザーが選択する日付範囲に基づいてすべてのイベントをリストしたいと考えています。私はjQueryのdatepickerを使用して、そこから価値を得て、sqlクエリーを実行して、選択した日付範囲のイベントを表示します。私の日付形式はYYYY-mm-dd(f.e 2016-05-05)ですが、日付ピッカーから日付を選択すると、(YYYY-05-05)となります。何らかの理由でyyyyを日付に変換するのではなく、月と日に変換します。jQueryの日付ピッカー(フォーマットの問題)からクエリの値を取得

<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(2小文字のy)を使用する必要があり、有効な日付形式ではありません

:ここに私のコードです

また、ちょうど提案 - mysqli_real_escape_stringのような何らかの種類の機能を使ってユーザ入力(post)をエスケープするか、何にでも合うウルSQL接続

0

用途:

var lastdate = $('#lastdatepicker').datepicker({ dateFormat: 'yy-mm-dd' }).val(); 

var firstdate = $('#firstdatepicker').datepicker({ dateFormat: 'yy-mm-dd' }).val(); 

は見持って dateFormat: "yy-mm-dd"

関連する問題