Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день, прошу помочь с реализацией следующей задачи.
Есть таблица СОБЫТИЯ {id,event,datetime}. В нее добавляются и выбираются события.
При добавлении обычного события - добавляется стандартно - название и дата события. С этим все в порядке.
НО! Как реализовать добавление и последующую выборку события, в котором вместо даты указаны значения: "каждый четверг", "каждое 30 число месяца".??
Как расположить в таблице такие события, может надо другую структуру таблицы..
Неактивен
Правильный ответ — никак. Их нужно держать отдельно (и пересчитывать каждый
раз, ничего не поделаешь). Можно было бы просчитать на некоторое время вперед,
например, но что будет, если пользователь посмотрит сразу в 4000 году?
Неактивен
paulus написал:
Правильный ответ — никак. Их нужно держать отдельно (и пересчитывать каждый
раз, ничего не поделаешь). Можно было бы просчитать на некоторое время вперед,
например, но что будет, если пользователь посмотрит сразу в 4000 году?
Максимум на полгода
Неактивен
На самом деле, пересчитывание регулярных задач — дело не очень сложное.
У разумного человека таких задач не очень много. Пусть будет 100 дней рож-
дения (раз в год), с десяток еженедельных задач... собственно, всё. Макси-
мум 150 строк на человека. Проверить, удовлетворяет ли такая строка — очень
быстро. А нерегулярных задач может быть много, но они легко подберутся по
индексу
Неактивен
А может использовать дополнительное поле - shift. В нем содержатся данные, которые позволяют просчитывать все даты этой записи.
Неактивен
Т.е. на пользователя всегда загружать blob, а парсить уже снаружи?
Можно, но не очень эффективно. Особенно для часто пользующихся сервисом
людей — у них blob будет большим, а доставать информацию десятилетней дав-
ности для них, наверное, не часто будет нужно.
Неактивен