Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как реализовать занятость 
:(
    Опции темы
pushok
Дата 4.8.2010, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



Здравствуйте.

Такая проблема.
Есть отель. Есть номера. Хотел бы реализовать просмотр и бронирование номеров в отеле. В общем-то с php я справлюсь, подскажите как это делается? Какие поля должны быть в БД? Может отдельной таблицей? Чтобы я мог производить поиск, какие номера свободны какие нет.

Номера описаны в таблице, имеют свои id.

Заранее благодарен за помощь.

Это сообщение отредактировал(а) pushok - 4.8.2010, 18:33
PM ICQ   Вверх
bars80080
Дата 4.8.2010, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(pushok @  4.8.2010,  18:32 Найти цитируемый пост)
Может отдельной таблицей?

а как не отдельной таблицей?

раз отель один, то надо ввести таблицы: комнаты, типы комнат, варианты размещения, типы вариантов размещения, цены, даты бронирования

rooms
id int, room_type tinyint, status tinyint, ... остальные поля описания
здесь room_type = id из таблицы room_type,
status показывает, свободен ли номер

room_types
id int, description varchar (описание)

room_variants
id int, variant_type tinyint, room_id int
здесь variant_type = id из таблицы типов вариантов размещения, а room_id - конкретный номер к которому этот вариант применим

room_variant_types
id int, description varchar (описание), ... остальные поля описания

prices
id int, variant_id int, price decimal(12,2)
здесь variant_id = id таблицы room_variants

orders
id int, variant_id int, arrival date, leave date, status tinyint, ... остальные поля описания
здесь arrival - дата прибытия, leave - дата съезда, status - состояние заказа (забронирован, оплачен, в ремонте)

именно по таблице orders (+ потянутся остальные) уже и будет смотреться, свободен ли номер или нет
PM MAIL WWW   Вверх
pushok
Дата 19.8.2010, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



Спасибо за ответ.

Вопрос такой: дата прибытия типа DATE и отправления - это я и сам догадался...

Но я не смог сделать поиск. Проблема в следующем:

имею в $date1 и $date2 даты, определяющие срок, на который ищем номер в отеле. Как мне составить запрос к таблице или отобрать из запроса нужные мне номера??
Делал так:

Код

$result=mysql_query("SELECT * FROM orders WHERE arrival>".$date1." AND leave<".$date2);


но результат неудовлетворительный. Подскажите в чем моя ошибка и как правильно составлять запросы с датами (DATE)
PM ICQ   Вверх
capitan
Дата 19.8.2010, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 2
Всего: 13



Код

.....
WHERE DATE_FORMAT(data, '%Y%m%d') BETWEEN {$data_start} AND {$data_finish} 
.....


Копать в эту сторону надо
PM MAIL WWW ICQ   Вверх
xoslv
Дата 5.10.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 195
Регистрация: 12.1.2007

Репутация: нет
Всего: нет



Здесь фишка немного иная! smile
Надо делать отбор по номерам, джоинить таблицу ордер и проверять, что бы в ней не было записей на номера на определённый период!

Делал я похожее и судя по твоему вопросу, делаешь ты что-то совсем простое! smile У меня вопросы были гораздо круче и решать их приходилось намного сложнее!

Из-за частых похожих задач, создал свою црм и каждый раз её правлю под определённые нужды заказчика!
--------------------
Не всё то маздай, что синее!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.