イベントの日付に奇妙な問題があり、修正しようと懸命に努力しましたが、修正できませんでした。
ページに日付を表示する方法のスクリーンショットを添付しています。
写真はアクションの最初のイベント Deine Energie です! は 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 か月以内に来る場合、最後に月名を 1 回だけ表示します。2 つ目は、月が変更された場合、月が変更された日付の後に月名が表示されることです。
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;
}
}