|
|
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
Подскажите лучшие приемы исходя из вашего опыта. Нужно хранить в базе время работы магазинов. 1. С Понедельника по Воскресенье 2. Каждый день может быть разный график работы! Один и тот же магазин может работать так: В понедельника может быть с 8.00 до 19.00 Во вторник с 9.00 до 19.00 В какой-то день круглосуточно может быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 09:32:09 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
Зависит от того, что потом с этим нужно делать. Я пишу просто строкой и мне этого достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 09:33:27 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
Вариантов-то не дофига. Всего два. Первый - хранить диапазоны ОТ-ДО. Хранение строкой, как сказал miksoft - это вариация такого подхода. Второй - хранить изменение состояния ОТКРЫЛСЯ/ЗАКРЫЛСЯ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 10:21:48 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
miksoft, да можно строкой но мне мне такое не подходит мне нужно будет значки на сайте ставить работает ли сейчас магазин или нет выборки по времени работе делать и т.д. на данный момент имею на руках базу, где 14 столбцов, которые относятся ко времени работы С Пн по Вс время начало работы для каждого дня недели и время окончания) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 10:25:24 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
InputLagмне нужно будет значки на сайте ставить работает ли сейчас магазин или нет Удобнее при втором варианте хранения. InputLagвыборки по времени работе делать Удобнее при первом варианте хранения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 10:27:44 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
Akina, есть еще варианты, где-то видел записывать некие числовые значение в строку, потом их "парсить" определенным способом но тут прикинул, наверное можно и строкой - затем ее "парсить", чтобы получить время Начала и Конец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 10:30:05 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
InputLag, ну это не такой уж и хреновый вариант InputLagработает ли сейчас магазин или нетДумаю, анализатору хватит ума проверять только одно из семи условий: Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 10:34:00 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
tanglir, вы какой способ имели ввиду? Еще забыл! Нужно еще помнить и время перерыва! А он тоже плавающий, и в разные дни бывает разный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 10:49:08 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
InputLagвы какой способ имели ввиду?с 14 столбцами :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 11:01:59 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
поля день-недели, начало, конец работы. ... на каждый день будет две записи, с утра до обеда, с обеда до вечера. индекс составной, день недели, начало работы, конец. работает если можно найти где день недели равен текущему, и текущее время между началом и концом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 11:09:06 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, А ещё есть магазинчики с двумя перерывами ... а ещё есть такие, что работают тока 1-й, 3-й "понедельник" месяца, а то и ваще "по звонку" (особенно у моделистов)... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 12:05:31 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
Arhat109alex564657498765453, А ещё есть магазинчики с двумя перерывами ... а ещё есть такие, что работают тока 1-й, 3-й "понедельник" месяца, а то и ваще "по звонку" (особенно у моделистов)... :) тем более мой вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 12:42:04 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
Arhat109, а расписание , чтоб разное можно делать так. так как основа, это понедельное расписание ---большинство случаев, то его берём за основу. а дополнительным полем специфицируем... тогда выборка по индексу, даст работу хоть когда нибудь в указаный день недели, и возможно отсеиться по дополнительному критерию... это я исхожу из того, что магазинов будет дофигища, и малая часть не влазит в рамки недельного расписания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 12:45:45 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
В одном схожем случае, когда сложно заранее формализовать все критерии, у нас в таблице строкой хранится выражение в SQL-синтаксисе, которое используется для построения результирующего запроса. Так получается максимальная гибкость вычислений, но минимальная гибкость корректировки, т.к. править эту таблицу могут всего 1-2 человека из программистов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 12:51:53 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, :) Только кажется, но или по задаче. Когда-то давно, парсил 2ГИС ... таких "магазинчиков" со спец. расписанием оказалось нифига не мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 13:52:49 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
InputLagесть еще вариантыНет. Либо начало и конец одного периода (причём не обязательно одного - возможно и нескольких пачкой, скажем, за неделю) в одной записи, либо в разных. Третьего не бывает. InputLagгде-то видел записывать некие числовые значение в строку, потом их "парсить" определенным способомЭто - вариант нумер один. Просто реализация хитрожопая - на мой взгляд, даже излишне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 15:45:15 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
Arhat109alex564657498765453, :) Только кажется, но или по задаче. Когда-то давно, парсил 2ГИС ... таких "магазинчиков" со спец. расписанием оказалось нифига не мало. нифига не мало, это сколько ? 1%??? пол процента? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 09:51:30 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
а главное - про разные расписания в разные понедельники...это тут 5 копеек со стороны вставили. ТС не задавал такой критерий. с другой стороны можно пойти таким способом вести поле периодичность 1- еженедельно, 2 ежемесячно, 3 ежегодно, 4 точно. и включить первым в индекс, итого предполагаемые 4 совпадения. тогда можно будет даже задать, что по пятницам магазин до 2200, но по тринадцатым числам до 0000, но 5 марта до 0100, а 8 октября 2020 года до 0200 влюбом случаем гадать можно долго, ТС похоже уже забил, если судить по его желанию описать точно ситуацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 10:02:20 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
я тут прочитал определил для себя вот так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. как сделать составной ключ лучше? я полагаю на idMag составной не нужен там будет выборки будут разные...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 12:39:36 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
как-то так Код: sql 1. честно ни разу не делал индекс по полю Дата и Время (как оно будет работать не знаю) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 12:44:46 |
|
||
|
Кто как записывает время работы в БД
|
|||
|---|---|---|---|
|
#18+
Может не мудрствуя лукаво и обед держать... Дабы потом не искать механизм нахождения часов обеда... и дни недели... обычная задача, решается в лоб... Shop Typ DayTyp h1 h2Веснушка рабвремя 1/2/3/4/5 8-00 12-00 Веснушка ОБЕД 1/2/3/4/5 12-00 13-00Веснушка рабвремя 1/2/3/4/5 13-00 17-00Веснушка рабвремя 6 10-00 15-00 Веснушка Выходной 7 таким образом можете держать обеды в разные дни, разное время работы по дням недели... и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2015, 15:00:16 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38896094&tid=1833500]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
67ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 347ms |

| 0 / 0 |
