我想創建一個腳本,如果日期比今天晚,那麼它將顯示MySQL中表中的項目。其他語句不觸發其他
$query = $dbc->query("SELECT event_id, name, location, image, DATE_FORMAT(Date, '%d-%b-%Y') AS Date, Date as FormatDate
FROM events
ORDER BY FormatDate ASC
");
$results = $query->setFetchMode(PDO::FETCH_ASSOC);
while($row = $query->fetch()){
$name = $row['name'];
$image = $row['image'];
$location = $row['location'];
$Date = $row['Date'];
$Date = strtotime($Date);
$Date = date('d-M-Y', $Date);
$Data = explode("-", $Date);
if (strtotime($Date) >= time()){
$page->body("
<div class=\"event\">test
<img src=\"$image\" alt=\"$name\" class=\"event_image\"/>
<p class=\"event_title\">$name</p>
<p class=\"event_location\">$location</p>
<p class=\"event_time\">$Data[0] $Data[1] $Data[2]</p>
</div>
");
}else{
$page->body ("
<!-- alrge grey text 100% span -->
<div class=\"event\">
<p>There are currently no events happening.</p>
</div>
");
}
}
}
當我添加一個事件表比今天晚些時候它成功地增加並運行該腳本,我可以看到該網頁,因爲日期,如果超過時間()打印出來的事件。
但是,如果我清除所有事件的MySql表,那麼它不會帶回else語句「目前沒有事件發生」。
如果表中沒有任何內容比今天晚,爲什麼else語句不能帶回失敗的通知。
任何幫助非常感謝。
你的代碼只對每一行發現*,如果這行是今天或晚些時候......否則輸出「沒有事件發生」。* else只適用於每一行。如果沒有找到行,它甚至不會進入循環。修正你的邏輯。 – deceze 2015-02-07 09:42:12