Сохранить несколько дат события в MySQL - PullRequest
0 голосов
/ 07 октября 2011

Я строю систему, которая показывает «события за этот месяц», перечисленные по дням и часам.

Когда я создаю событие, я устанавливаю дату начала, дату окончания и час.

Допустим, одно событие начинается 07-10-2011 и заканчивается 07-12-2011.Проблема в том, что некоторые дни в этом диапазоне дат не будут показывать событие.Например, это событие может происходить все дни и в один и тот же час, за исключением нескольких дней, когда оно не произойдет или у него будет другой час (представьте себе шоу с датой открытия, отличной от остальных дней).

Я использую PHP, MySQL и Codeigniter и сомневаюсь в правильном способе сохранения этих дат в базе данных.Другая таблица со всеми датами и идентификатором события, или сохранить их все в поле внутри строки события?Или что-то еще?

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 октября 2011

Я бы создал две таблицы. Первая таблица - это таблица events, а другая - таблица events_dates. Таким образом, вы можете создать одно событие и связать с ним столько дат, сколько пожелаете.

Таблица events_dates может быть настолько подробной или простой, насколько вы хотите. Если бы это был я, я бы, вероятно, имел бы столбцы start_time и end_time, а также event_id и любые другие данные, которые вы хотите.

0 голосов
/ 07 октября 2011

Я бы сохранил дату диапазона в таблице, а затем создал бы таблицу «исключений», где вы можете хранить свои исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...