私はイベントの日付で奇妙な問題を抱えています。日付範囲のリストに冗長な月と年を省略します
私はページ上の日付を表示する方法のスクリーンショットを添付しています:絵で
アクション・中の最初のイベントDeineエネルギー・!開始日と終了日を持つ各イベントとの5つのイベントの組み合わせです。
イベントの最初の部分は、4月4日に始まり4月4日に終了する1日イベントです。同様に、第2部分は4月7日、第3部分は4月9日、第4部分は4月20日
最後の部分は5月5日に始まり、5月10日に終わります。
日付は、次の形式でデータベースに格納されます。 イベントの最後の部分の日付を表示しています。 イベント開始日:2013-05-05 00:00:00 イベント終了日:2013-05-10 00:00:00
このように、日付は図の形式で表示したいと考えています。
複数のケースがあります。 まず、すべての日付が1か月以内に来る場合は、末尾に月名を1回だけ表示します。 月が変更されると、月が変更された日の後に月の名前が表示されます。
私はイベントの日付をwhileループで取得していますので、現在のイベントの日付と来るべきイベントの日付をループで比較するにはどうすればいいですか?
これは私がデータベースから日付を取得するために、これまで使用してきたコード..です
$nid = $row->nid;
$get_product_id = "SELECT product_id from {uc_product_kits} where nid='$nid'";
$res = db_query($get_product_id);
while ($get_product_id_array_value = db_fetch_array($res)) {
$prductid = $get_product_id_array_value['product_id'];
$start_date = db_query("select event_start,event_end from {event} where nid=%d",$prductid);
$start_date_value = db_fetch_object($start_date);
$end_value = $start_date_value->event_start;
$event_end_date = $start_date_value->event_end;
$TotalStart = date("d M Y", strtotime($end_value));
$TotalEnd = date("d M Y", strtotime($event_end_date));
$onlyMonthStart = date("M", strtotime($end_value));
$onlyMonthEnd = date("M", strtotime($event_end_date));
//$groupMonth = db_query("select event_start,event_end, month from {event} where nid=%d group by ",$prductid);
if($TotalStart == $TotalEnd){
$startDay = date("d", strtotime($end_value));
$startMonth = date("M", strtotime($end_value));
if(in_array($startMonth,$newMonth)) {
echo $onlstartdate;
}
else {
$onlstartdate = date("d", strtotime($end_value));
echo $onlstartdate;
$tempStorage[] = $startMonth
}
//$newMonth[] = $startMonth;
}
}
私はいくつかのサンプルコードで私の答えを更新しました。 –
Martinに感謝します。それは私のために働いた。 –
あなたは大歓迎です。ハッピー、それはあなたを助けました。 –