我正在編寫一個系統,顯示選定月份的數據。用戶可以選擇他們想查看的月份,然後創建一個如下所示的URL:.com/page.php?month = 03頁面,您可以猜到將採用這個想法,然後用它從數據庫中獲取數據從那個月開始。從兩個日期之間的數據庫獲取數據
現在基於URL中的月份,我正在對vars進行基於這個示例的$ startdate $ enddate開始日期是2011-03-01,然後我將29或30添加到日期的部分日期如果這個月有31或30天。好了,所以我做的日期是這樣的:
$startdate = mktime(0,0,0,date("$month"),date("01"),date("2011"));
if($month==04 || $month==06 || $month==9 || $month==11)
{
$enddate = mktime(0,0,0,date("$month"),date("01")+29,date("2011"));
}
else
{
$enddate = mktime(0,0,0,date("$month"),date("01")+30,date("2011"));
}
現在,當我試圖從這些變量的數據庫,它似乎並沒有工作取得的數據,這是查詢:
$getresults = mysql_query("SELECT * FROM table1 WHERE date BETWEEN $startdate AND $enddate ORDER BY date ASC");
問題是,如果我將變量改爲硬編碼的日期,它的作品就是一種享受...任何人有任何想法?我認爲這與格式化日子的方式有關?在我的數據庫中它的「Y-m-d」,在php中也是一樣的。
感謝任何幫助的人,我真的堅持在這一個。
謝謝你,但現在我回聲1970年的數據......? – ragebunny
我不確定我瞭解你的問題。你能改述一下嗎? –
是的,我用你的代碼,$ enddate = date('Ym-d',mktime(0,0,0,date(「$ month」),date(「01」)+ 29,date(「2011」)) );然後用回顯打印日期,現在我的日期是1970-01-01 1970-01-01,而不是2011年9月。希望這會好一點。 – ragebunny