2011-08-09 7 views
1

新参者を助けてください。 ec_start_date、ec_end_date、ec_event_nameという名前のフィールドを持つevent_calendarという名前のテーブルがあります。最初の2つのフィールドは日付フィールドです。これは100件未満の小さな表です。今月の開始日または終了日のイベントをリストしたい場合は、次の月の開始日または終了日のイベントのリストをフォローしたいと思います。 2つのリストは月の名前になります。リストに表示される日付は、dd/mmの形式にしたいと思います。PHPを使用して、2つの日付フィールドと当月を使用してテーブルエントリを選択する

これは、リストヘッダーの月を特定するコードです。

$thismonth = mktime(0,0,0,date("n")); 
$nextmonth = mktime(0,0,0,date("n")+1); 

echo "<h2 class='caps'>"; 
echo date("n", $thismonth); 
echo "</h2>"; 

echo "<h2 class='caps'>"; 
echo date("m", $nextmonth); 
echo "</h2>"; 

これは、私は、問題は、私は変数$ thismonthと数8を交換する場合、それは失敗し、ある今月(8月)の活動

$query = "SELECT ec_display,ec_event_name,ec_start_date,ec_end_date FROM event_calendar WHERE month(ec_start_date) = 8 OR month(ec_end_date) = 8 ORDER BY ec_start_date"; 

のエントリを引っ張るために使用するコードです。

最後に、ec_start_dateとec_end_dateからdd/mmだけを表示するにはどうすればよいですか?

ご指摘いただきまして誠にありがとうございますが、私は非常に新しいので具体的にしてください!ありがとうございました!

+0

8を$ thismonthに置き換えると、生成されるエラーは何ですか? – evasilchenko

+0

私の$結果は空です – Nina

答えて

0

$thismonthには、mktimeが返すUNIXタイムスタンプが含まれています。

date('n')(8)を入れてはいけません。そうしないと、今度は0になります。0秒、0分、8ヶ月目のタイムスタンプは1312862400です。 MySQL do do

$query = "SELECT ec_display,ec_event_name,ec_start_date,ec_end_date FROM event_calendar WHERE month(ec_start_date) = MONTH(CURRENT_DATE) OR month(ec_end_date) = MONTH(CURRENT_DATE) ORDER BY ec_start_date"; 
+0

すごいダン、素早い応答のためにありがとう!あなたの提案は素晴らしく、月(current_date)を使って来月のリストを引き出すにはどうすればいいですか? – Nina

+0

'MONTH(CURRENT_DATE + INTERVAL 1 MONTH)'を試してください。 –

+0

魅力的な作品!私はすべての感情的になってきています。私は助けにとても感謝しています。 – Nina

関連する問題