2016-11-30 3 views
0

У меня есть MySQL Table, скажем, для сообщений в блогах. У них есть столбец status, который является активным или неактивным, а два столбца являются необязательными: publish date и expire date для расписания сообщений.MySQL/PHP - статус изменения в зависимости от даты

Какое решение вы рекомендуете для изменения статуса в зависимости от даты публикации и срока действия? Могу ли я сделать это с помощью PHP script или cronjob?

EDIT 30.11.16/16:50 Возможно, я должен быть более точным относительно моей конкретной проблемы: у меня есть магазин magento, и я хотел бы добавить возможность планировать тизеры. Я хочу как можно меньше изменить существующий код.

+0

Да, cronjob может сделать это, или решить, состояние, когда вы загружающие content –

+0

При загрузке содержимого вы можете просто исключить все, где опубликованная дата не была достигнута, или срок годности истекает. Это спасло бы необходимость иметь задание обновления статуса. Для пуристов БД это может также считаться лучшим дизайном базы данных - если статус - это поле, которое может быть определено исключительно на основе значений в других полях, то оно эффективно избыточно, поскольку значение может быть получено, когда это необходимо. – ADyson

ответ

0

Я бы сказал, это зависит, но как @ADyson грустно, вы должны работать только с cronjob, потому что он показывает некоторые сообщения, которые должны были быть истекли.

Но вы думаете написать один класс/функцию, которые обрабатывают логику статуса и срока годности/публикации. Это будет беспорядок позже, если у вас есть копия кода в cronjob и на разных выходных страницах.

Я также думаю о поле статуса, может быть, это не является необходимым, если вы делаете некоторую MySQL Выбирает как

... 
WHERE publish_date>now() AND expire_date<now()