remenikomer
12.04.2014 - 09:57
Что хочу сделать:
Пользователь выбирает дни недели. У каждого дня недели можно указать часы работы, они же интервалы работы (с - по).
Проблема в том, что не знаю как это можно реализовать, точнее представить работу на сайте... а тем более уже как хранить в БД.
Как вариант: при выборке чекбокса раскрывать форму с полями ввода "с" и "по". Пользователь вводит интервал, нажимает добавить. И на jquery интервал записывается чуть выше. Там собирается несколько интервалов для каждого дня.
А потом весь массив сериализовать и сохранять в таблицу.
Но возникают проблемы: по этим данным ничего не найти. Например, мне нужно найти того, кто может работать с обеда по выходным.
Да и будет проблема, когда пользователь ввел пересекающиеся интервалы.
Нашел еще такой вариант: сохранять все интервалы в таблицу: id, id_user, start, end. Только с предварительной проверкой на пересечения в дне недели.
Если кто-нибудь сталкивался с подобным, подскажите, пожалуйста.
Цитата |
а тем более уже как хранить в БД. |
Записывай Unixdate [time()] две даты "с" и "по", тогда вопрос:
Цитата |
Например, мне нужно найти того, кто может работать с обеда по выходным. |
- отпадет сам собой (с
териализовать ни чего не надо!)
Выборка будет примерно так (разумеется на SQL)
if (дата > time1 && дата < time2)
Тем более там у всех 12:00:00 12.04.2014 будет писаться одинаково до секунды.
if (дата = time1)
Для выбора времени есть плагины, вот первый же в гугле
eng русЛибо вспомни как устроен какой нить оутлук
remenikomer
12.04.2014 - 10:55
Цитата (BaNru @ 12.04.2014 - 10:26) |
Цитата | а тем более уже как хранить в БД. |
Записывай Unixdate [time()] две даты "с" и "по", тогда вопрос:
Цитата | Например, мне нужно найти того, кто может работать с обеда по выходным. |
- отпадет сам собой (с териализовать ни чего не надо!) Выборка будет примерно так (разумеется на SQL) if (дата > time1 && дата < time2) Тем более там у всех 12:00:00 12.04.2014 будет писаться одинаково до секунды. if (дата = time1) Для выбора времени есть плагины, вот первый же в гугле eng русЛибо вспомни как устроен какой нить оутлук |
Но мне не нужно даты. Мне нужно только дни недели. Этот график будет повторяться каждую неделю, независимо от даты и года.
Ну тогда возьми за ноль начало понедельника и отталкивайся от него, вместо unixdate, но так же в секундах или часах.
remenikomer
13.04.2014 - 16:04
все равно не понял. Какие таблицы, какая их структура, где хранить время?
Одна таблица с тремя полями: user_id, monday_timestamp_from, monday_timestamp_to
Если тяжко с вычислениями - юзайте доп.поле day_of_week и тогда weekday_timestamp соответственно.
_____________
Бывает, ты ешь медведя, а бывает, что медведь ест тебя (с)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.