Я пытаюсь создать скрипт, где, если дата позже, чем сегодня, тогда он отобразит элемент из таблицы в MySQL.else statement not triggering else
$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 выводит «никаких событий не происходит». * «Else» относится только к каждой строке. Если ни одна строка не найдена, она даже не входит в цикл. Исправьте свою логику. – deceze