2011-01-03 5 views
0

私は特定の日のDATE値でデータベースにアイテムを保存したいと考えています。私は現在の月曜日、火曜日などを今週から得る方法を知らない。ここに私の現在のデータベースの設定があります。PHP:曜日を取得するには?

menuentry 
id int(10) PK 
menu_item_id int(10) FK 
day_of_week date 
message varchar(255) 

だから私は[」だから私は入れて何をちょうどよくわからないんだ

foreach ($menuEntryArray as $item) 
{ 
    if ($item->getDate() == [DONT KNOW WHAT TO PUT HERE]) 
    { 
     // code to display menu_item information 
    } 
} 

... DONTを、私はこのような何かをしようとしていたすべての情報を保持しているクラスを設定しています今週の月曜日、火曜日などの日付が指定されているかどうかを比較するにはここをクリックしてください。上記のforeachは毎週実行されるので、次のようになります...

Monday 
Item 1 
Item 2 
Item 3 

Tuesday 
Item 1 

Wednesday 
Item 1 
Item 2 

... 

ありがとうございます!

答えて

2

あなたの答えはprofitphpですが、もっと必要としていました。私はおそらく私の質問で十分にはっきりしていたとは思わない。私は最終的に

function getCurrentWeek() 
{ 
    $weekArray = array(); 

    // set current date1 
    $date = date("m/d/Y"); //'04/30/2009'; 

    // parse about any English textual datetime description into a Unix timestamp 
    $ts = strtotime($date); 

    // calculate the number of days since Monday 
    $dow = date('w', $ts); 
    $offset = $dow - 1; 
    if ($offset < 0) $offset = 6; 

    // calculate timestamp for the Monday 
    $ts = $ts - $offset*86400; 

    // loop from Monday till Sunday 
    for ($i=0; $i<7; $i++, $ts+=86400){ 
     $temp_date = date("Y-m-d", $ts); // here I set it to the same format as my database 
     array_push($weekArray, $temp_date); 
    } 

    return $weekArray; 

} 

は、その後、私はこれで...

foreach ($menu as $item) 
    { 
     if ($item->getDayOfWeek() == $weekArray[0]) 
     { 
      // do my stuff 
     } 
    } 

ホープ、これが再びprofitphp誰か、感謝を助けることに使用...それはここで働くことは、私がやったことで得ました。

5

$ day = date( 'l'、strtotime($ item ['day_of_week']));

+0

これは正確には何ですか?私はデータベースのテーブルにたくさんの月曜日があるので、それは今週の月曜日ではなく月曜日と一致するようにしたいからです。それ以来の希望。したがって、私のIFステートメントでは、現在の週が2011年1月2日から2011年1月8日であれば、月曜日に格納された日付(例えば1/3/2011)を一致させることを考えていました。 – daveomcd

+1

最初のstrtotimeは、mysqlに格納されている日付を使用可能な形式(unixタイムスタンプ)に変換します。次に、それを最初のパラメーターとして小文字のLを指定した日付関数に渡し、与えられたタイムスタンプが該当する曜日のテキスト表現を返します。 – profitphp

関連する問題