Нужен совет, каким образом мне нужно копать с проблемой фильтрации.
У меня есть записи со спортивными событиями, у каждого спортивного события есть столбцы для времени начала события и времени окончания события:
Событие № 1
Время начала: 09:00 (время от)
Время окончания: 12:00 (time_to)
Формат времени в базе данных: ЧЧ: ММ.
Затем у меня есть страница фильтра, где пользователь может установить диапазон времени для события, чтобы показать все события, происходящие в 09:45 - 11:45)
Я пытаюсь отфильтровать события в указанном пользователем диапазоне путем преобразования входных значений фильтра и значений базы данных в секунды, но он не работает полностью:
$i = 0;
foreach($sport_events as $event)
{
// check if the event is in user specified range
// $filter_time is already converted to strtotime previously
if( strtotime($event['time_from']) >= $filter_time_from_seconds && strtotime($event['time_to']) <= $filter_time_to_seconds )
{
// do nothing
} else {
// unset sport event
unset($event[$i]);
}
$i++;
}
Может выводить результаты, если пользователь вводит 09:00 и 12:00, но не 10:00 и 11:00, например, который находится в диапазоне.
Есть мысли?