Intereting Posts
Google Analytics _trackEvent не работает с XHTML? PHP. Получить домашний каталог пользователя (для виртуального хостинга) Как получить скрипт php для печати / работы Создавайте новые html-таблицы по годам, основываясь на изменении лет в порядке убывания «Public static» или «static public»? Невозможно отправлять переменные с помощью jquery post () php: загрузить содержимое переменной как файл Определить количество измерений в массиве PHP получить идентификатор последней вставленной записи без использования mysql_insert_id () Как реализовать метод opensl_encrypt () php в iOS Objective-C? Получить информацию о операционной системе Как сделать соединение TLS с PHP на веб-сервере и безопасно В чем преимущества использования SPL ArrayObject, ArrayIterator, RecursiveArrayIterator вместо обычных массивов? В раскрывающемся списке «Часовой пояс» укажите доступные часовые пояса в зависимости от страны? почему ob_start () должен опережать session_start () для работы в PHP?

округление до ближайших 15 минут в php / mysql

У меня есть таблица MySQL с полем time котором хранится время публикации рекламы. Мне нужно сгруппировать их в течение 15 минут и отображения.

Пример:

  |comm1|comm2 |comm3| -------------------------------- |8:00- 8:15 | 2 | 5 | 0 | -------------------------------- |8:15- 8:30 | 0 | 0 | 1 | -------------------------------- |8:30- 8:45 | 4 | 1 | 3 | -------------------------------- |8:45- 9:00 | 4 | 5 | 2 | -------------------------------- |... | . | . | . | -------------------------------- 

и так далее до 24:00! Итак, мне нужно сделать две вещи:

1) разделение в течение 15 минут в течение всего дня и

2) по прошествии времени, когда коммерческая работа продлится до ближайшего из этих периодов.

Есть идеи? Я могу использовать только PHP / MySQL.

Попробуй это –

 SELECT SEC_TO_TIME((TIME_TO_SEC(time_field) DIV 900) * 900) AS round_time FROM table 

Где 900 – 60 секунд * 15 минут.

Не зная ничего о вашей таблице, трудно сказать. Но предположим, что у вас есть временное поле unix, вы можете получить начальный час + квартал следующим образом:

 SELECT concat( hour( from_unixtime( time ) ) , ':', floor( minute( from_unixtime( time ) ) %4 ) *15 ) FROM table 

В этом случае time – это ваше временное поле unix. Если у вас есть поле time / datetime, вы можете удалить функцию FROM_UNIXTIME.