2014-09-02 44 views
-1

我通過變量顯示結果但沒有選擇記錄如何在mysql日期格式中使用變量

我在做什麼錯?

$starting_date=$_REQUEST['first']; 
$ending_date=$_REQUEST['last']; 

$result=mysql_query("SELECT * FROM class 
WHERE `date` between DATE_FORMAT($starting_date,'%Y-%m-%d') 
and DATE_FORMAT($ending_date,'%Y-%m-%d')"); 
+0

in mysql'date'在'date'數據類型或'datetime'中?並在這裏回顯你的'$ starting_date'和'$ ending_date'變量。 – 2014-09-02 20:58:33

+0

日期是時間戳格式 – 2014-09-02 21:01:39

+0

值來了,使用echo檢查 – 2014-09-02 21:02:45

回答

2

看來,你在你的MySQL表datetime數據類型。你應該嘗試這樣的事情:

$result=mysql_query("SELECT * FROM class 
     WHERE DATE(`date`) between '$starting_date' and '$ending_date'"); 

如果你的起始日期和結束日期的格式如下:YYYY-MM-DD

編輯:: JQuery的日期選擇器:

$(function() { 
    $("#starting_date").datepicker({ 
     dateFormat : 'yy-mm-dd' 
    }); 
    $("#ending_date").datepicker({ 
     dateFormat : 'yy-mm-dd' 
    }); 
}); 
+0

SQL將把'YYYY-MM-DD'解釋爲一個數學問題(連字符=負號)。變量需要引用。 – 2014-09-02 21:01:57

+0

@Aman Goyal:你可以試試這個答案。它會爲你工作。 – 2014-09-02 21:03:06

+0

09/02/2014以這種格式從日期選擇器 – 2014-09-02 21:03:30

0

謝謝大家幫我

這個功能改變日期格式

$(function(){(「#starting_date」).datepicker({ dateFormat:'yy-mm-dd' }); (「#ending_date」).datepicker({ dateFormat:'yy-mm-dd' }); });

這個查詢幫助我:)

$結果= mysql_query( 「SELECT * FROM 類,其中 '$ starting_date' 和 '$ ENDING_DATE' 之間DATE(date)」);

+1

你應該接受答案。你不應該再發布它。 – 2014-09-02 21:21:22

+0

我同意Ronak,你應該刪除你的答案並接受由Ronak給出的答案。按照鏈接=> ** http://meta.stackexchange.com/a/5235/**查看您接受給定答案的方式。 – 2014-09-02 21:30:11

+0

我在這裏是新來的,我不是新的同意答案 – 2014-09-03 10:07:26