Как настроить бизнес в соответствии с его рабочим часом? - PullRequest
0 голосов
/ 29 марта 2012

Я пытаюсь запланировать другой тип бизнеса в соответствии с его рабочим часом

хочу создать 2 таблицы
1. Бизнес
2. Рабочие часы (по вс, пн, вт, ср, пт, сб)

Пример: Название фирмы: "Салон Сэма"
Рабочие часы: понедельник с 10:00 до 14:00, вторник с 11:00 до 17:00, с 13:00 до 17:00, .....

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

Ответы [ 2 ]

2 голосов
/ 29 марта 2012

В основном я бы использовал:

business_id - int (11)
weekday - enum('sun','mon','tue','wed','thu','fri','sat')
start_unix - int(11)
end_unix - int(11)

В день 86 86 секунд.Вы можете просто сохранить секунды, прошедшие с начала дня.

Чтобы получить данные о времени работы определенного дня, вы должны сделать что-то вроде:

$str_week_day = strtolower(date('D'));

SELECT start_unix, end_unix
FROM business_hours
WHERE business_id = {$int_business_id} AND weekday = '{$str_week_day}'

Затем, чтобы получить время, вы 'сделайте так:

$str_start = date('Ha', strtotime('today') + $row->start_unix);
$str_end = date('Ha', strtotime('today') + $row->end_unix);

echo "{$str_start}-{$start_end}";

При вводе / создании строки вы просто выполните:

// $_POST['start_unix'] could be 09:50am
$int_start_unix = strtotime($_POST['start_unix']) - strtotime('today');
2 голосов
/ 29 марта 2012

Реляционная модель будет выглядеть следующим образом:

Business Table
---------------
id - Primary Key - Auto Increment
Business Name

Busines Hours Table
-------------------
id - Primary Key - Auto Increment
Business id - Foreign Key (Business Table id field)
WeekDay (either number 0-6 or text for day)
Start Hour - datetime format
End Hour - datetime format

Для системы счисления дней недели 0 будет воскресенье, а 6 - суббота. Или на заказ, если вы того пожелаете.

Это позволит вам легко добавить дополнительную бизнес-информацию, например адрес / телефон, без необходимости нескольких строк для одного магазина.

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