:::
tad - 程式開發筆記 | 2011-04-01 | 點閱數: 16734
image

Tad Book 3 有個最新文章的區塊,其中有個設定欄位是要設定秀出 N 天內的文章。當我把這區塊裝上後,發現這個設定功能沒有作用,於是重寫了一下,但過程並不順利,原因在於PHP及MySQL的時間戳記長的並不一樣。

在資料表中,「文章最後修改日期」我是用PHP的時間戳記格式來存到資料庫中的,如此,用PHP讀出寫入並不會有多大問題,但一旦要用MySQL函數來操作它,問題就出現了,因為PHP的時間戳記格式MySQL看不懂。

怎麼辦呢?用 MySQL 的 FROM_UNIXTIME() 來轉換即可。整個SQL語法如下(列出7天內的資料):

select * from XX資料表  where TO_DAYS(NOW()) - TO_DAYS( FROM_UNIXTIME(`日期欄位`)) <= 7

  • TO_DAYS() 是MySQL用來計算從 0000-00-00 起到您指定的日期,中間過了多少天。
  • NOW() 則是指今天的日期。
  • FROM_UNIXTIME() 則是將PHP的時間戳記(UNIX 的時間戳記),轉換為MySQL看得懂的時間戳記格式...

TO_DAYS(NOW()) 就是從 0000-00-00 起到今天為止的日數。

TO_DAYS( FROM_UNIXTIME(`日期欄位`)) 就是從 0000-00-00 起到指定日期為止的日數。

TO_DAYS(NOW()) - TO_DAYS( FROM_UNIXTIME(`日期欄位`)) 會得到今天到指定日期之間的天數

:::

搜尋

QR Code 區塊

https%3A%2F%2Fwww.tad0616.net%2Fmodules%2Ftadnews%2Findex.php%3Fncsn%3D28%26nsn%3D188

線上使用者

37人線上 (3人在瀏覽最新消息)

會員: 0

訪客: 37

更多…