2012-02-19 55 views
0

我正在構建一個博客頁面。但是我開始在檔案部分掙扎。PHP,Mysql從strtotime獲取歸檔文件

我在MySQL的是時間標記使用註釋:

$timestamp = strtotime($month . " " . $date . " " . $year . " " . $time); 

現在,如果我有去的鏈接:blog.php?Month=Febuary&Year=2012

我將如何使用這兩個參數在一個SQL查詢來檢索該月份和年份的所有記錄?

感謝,

+0

如何將數據存儲在MySQL中? – 2012-02-19 21:13:56

回答

1

編輯:改變了他們使用UNIX時間戳...

沒有必要strtotime()按月查詢&年。相反,你可以這樣做:

SELECT * 
FROM blogtbl 
WHERE 
    YEAR(FROM_UNIXTIME(postdate)) = 2012 
    AND UPPER(MONTHNAME(FROM_UNIXTIME(postdate))) = 'FEBRUARY' 

它也可以與DATE_FORMAT()

SELECT * 
FROM blogtbl 
WHERE 
    UPPER(DATE_FORMAT(FROM_UNIXTIME(postdate), '%M %Y')) = 'FEBRUARY 2012' 

注意我用UPPER()到查詢爲大寫,轉換做只是爲了使其更容易在PHP變量傳遞與不可預測的套管。

我們假設您已經知道如何從PHP中的查詢字符串中通過$_GET['Month'], $_GET['Year']檢索月份和年份,並正確地將它們轉義以插入到您的查詢中。

+0

嘗試過但沒有太多運氣, 我的mysql有一個unix格式的時間戳'1326905520' – 2012-02-19 22:36:03

+0

@BenStringer使用'FROM_UNIXTIME()'將上面的修改轉換成MySQL DATETIME的unix時間戳。 – 2012-02-19 22:48:18

+0

啊,謝謝你,會讓你知道我是怎麼得到的:) – 2012-02-20 01:01:39