我試圖能夠計算特定場所的特定日期(今天)的總事件。 使用24小時制時間, 我試圖在foreach循環中查找當天的最後一個事件,然後當一天的最後一個事件的end_time小於現在時,顯示文本「所有安排的事件已經爲今天結束」。php count並獲得foreach循環中的最後一條記錄
我的問題是,xml數據包括所有房間的所有事件14天,我沒有得到正確的計數。 我有幾個,如果在foreach中的語句以削減下來....
如果XML空間ID ==房間ID,然後 如果XML事件起始日期今天等於,然後 如果($ I $ < numItems的) 如果事件結束時間大於現在, 顯示這些事件
我需要記錄的計數在滿足這些條件......當事件是今天的日期,並在同一個房間作爲被通通過roomID網址。 把我的$一個numItems = $計數($ ARR)之前在foreach計算太多記錄,並把內部的foreach計數總是返回只算1。
$arr = $this->data['events'];
$numItems = count($arr);
$i = 1;
foreach ($arr as $key => $reservation){
if ((int)$reservation->space_reservation->space_id == $roomID)
{
//test today's date
$resDT = date('m/d/y',strtotime($reservation->reservation_start_dt));
if ($resDT == date('m/d/y'))
{
if ($i < $numItems)
{
$repst = substr($reservation->event_start_dt,11,5);
$repet = substr($reservation->event_end_dt,11,5);
if ((date('H:i',strtotime($repet))) > (date('H:i')))
{
echo '<h2>' .$reservation->event_name. '</h2> ';
echo '<span class="dates">' .date('m/d/y',strtotime($reservation->event_start_dt)). ' </span> ';
echo '<span class="times">' .date('g:i a',strtotime($repst)). ' - ';
echo date('g:i a',strtotime($repet)). '</span> ';
echo '<br />';
} // ends if event end date has passed
//echo '<span style="color:#FFF200;">'.$i.'</span>';
echo '<br />';
}
//if $i equals last record
elseif ($i === $numItems) {
// test if last event ends show
if ((date('g:i a',strtotime($repet))) < (date('g:i: a'))){
echo '<span style="color:#FFF200;">All scheduled meetings/events have concluded for today. </span><br /><br />';
}
}
$i++;
} // ends if
} // ends if
} // ends for each
這是偉大的。謝謝!你有$ unfinishedEventsToday = 0;這是我改變$ unfinishedEvents稍後匹配的代碼。 – sloga
@sloga,感謝拿起它,只是修正代碼,因此變量名稱將匹配:) –