![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| mus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 22.5.2005 Репутация: нет Всего: 1 |
Делаю что-то вроде органайзера. Хранится в органазйере будут задачи, которые мне следует делать циклически, как то:
* принимать таблетку А три раза в день ежедневно * ходить на бассейн ежедневно (1 раз в день) * ходить на бокс по вторникам, четвергам и пятницам. * раз в неделю поход в сауну * через день принимать таблетку Б Далее все эти пункты будут выдаваться на экран в виде галочек. Выполнил пункт - отметил галочку, сохранил форму, одной задачей за день меньше. Хотелось бы понять, как изящно организовать работу с циклическими событиями, а именно - как изящнее сие заполнить, хранить и обрабатывать. Если есть какие библиотеки, статьи, подходы и прочее - будьте добры, поделитесь. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
а что тут сложного (да ещё и в библиотеках?)
создаёшь таблицу с циклическими расписаниями, в которые вводишь время срабатывания и периодичность создаёшь таблицу с текущими заданиями создаёшь скрипт, который по условиям описанным в первой таблице заносит задания во вторую таблицу форма с галочкой - просто удаляет текущее событие |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Изящества будет не очень много
Я бы делал примерно так. - хранится таблица с набором правил -- {действие}/{правила расчета периодов}/{Дата начала}/{активно} Таблетка A / день через день Таблетка Б / понедельник, четверг ... Список правил расчета фиксированный! По списку правил расчитываем реальное расписание на ближайший период... (3 месяца?) и вот его уже заносим в таблицу-календарь {время/событие/ действие/ галочка} После расчета переносим дату начала "периодического события" на "уже просчитанное время". Каждый месяц "дорасчитываем" периодические события в календарь... Календарь должен быть доступен для редактирования вручную. К примеру можно и пропустить бокс 1 января, таблетки могут неожиданно кончится, и т.д. Получается сложновато, но если проще - будет не удобно пользоваться ... Вообще, можно подсматривать идеи у календаря гугл или других распространенных календарных приложений... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| mus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 22.5.2005 Репутация: нет Всего: 1 |
ksnk, можно пример правил расчета и таблицы?
Из описания ничего не понял, но заинтриговало то, что есть исключительные ситуации. |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Для начала можно написать простой календарь, в который можно вставлять любые события вручную. Без периодических событий.
- event - текстовое описание события. Возможно стоит ввести 2 поля с описанием - короткое и расширенное... - eventlink - ссылка на правило, по которому генерируется событие. Пока - не нужно - start - время начала события - fin - время окончания события - flag - какие-нибудь отметки, ставяться вручную, смысл их мне пока неясен, но скорее всего - пригодяться Собственно календарь - добавить событие, убрать событие... Когда заработает - можно навернуть периодические события. В форму добавления события добавить селектбокс со списком "периодов". При обработке формы добавлять не одно, а сразу кучу... Какие примеры, я-ж тут прямо на коленке все это и придумал. Но мне пока кажется. что схема вполне работоспособна... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |