2011-03-15 15 views
1

CURDATE()を使用してファイルをアップロードした日をdbに保存するアップローダをコーディングしています。このフィールがどれくらいの長さでアップロードされたかに応じて、ファイルに関連するアイコンの色を変更するために、dbに格納されている日付と現在の日付を比較したいと思います。たとえば、1週間未満の場合、アイコンは緑色になり、1週間以上経過すると黄色、2週間以上経過すると赤色になります。どうしたらいいですか?ありがとう。MySQLデータベースに格納されている日付と現在の日付を比較するにはどうすればよいですか?

+0

これまでに試したことはありますか? –

答えて

2

私はDateDiff関数はあなたがMySQLのからあなたの日付を持っていたら、あなたはタイムスタンプを取得するために($ [「日付」]を引き起こす)のstrtotimeを使用してから行うことができます http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff

mysql> SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30'); 
     -> 1 
mysql> SELECT DATEDIFF('2010-11-30 23:59:59','2010-12-31'); 
     -> -31 
0

後に探している何かだと思いますあなたがそれで欲しいものはほとんどありません。

1
SELECT CASE 
    WHEN DATE_FIELD >= NOW() - INTERVAL 1 WEEK THEN 'GREEN' 
    WHEN DATE_FIELD >= NOW() - INTERVAL 2 WEEK THEN 'YELLOW' 
    ELSE 'RED' 
END 
FROM A_TABLE` 

基本的に、これは条件(WHEN <condition>ブロック)が真である(それはTHEN <value>ビット'S)最初の値を返します。私はそれを定式化の方法は、少し後方に「自然」の論理と比較されるが、それは意味:

  1. 日から2週間以内であれば、日付は、他の
  2. 緑、今から1週間以内であれば現在、黄色
  3. その他、赤
関連する問題