Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Бронирование
 
 автор: Roma   (20.04.2007 в 22:26)   письмо автору
 
 

Все привет!!!
Мне нужно сделать что-то вроде этого: http://www.turtess-online.com.ua/hotels/.
Где хранятся данные о том, есть ли свободные места в отеле в определенный день? Или же здесь просто идет выборка из таблицы заказов?

   
 
 автор: Roma   (20.04.2007 в 22:47)   письмо автору
 
   для: Roma   (20.04.2007 в 22:26)
 

очень надо, подскажите плз кто знает

   
 
 автор: bronenos   (21.04.2007 в 07:46)   письмо автору
 
   для: Roma   (20.04.2007 в 22:47)
 

таблица заказов и мест в их базе

   
 
 автор: Roma   (21.04.2007 в 10:21)   письмо автору
 
   для: bronenos   (21.04.2007 в 07:46)
 

Это надо проверять каждую дату (каждый день)? Т.е для кажного дня отдельный запрос?

   
 
 автор: bronenos   (21.04.2007 в 12:15)   письмо автору
 
   для: Roma   (21.04.2007 в 10:21)
 

честно говоря не заходил и не охота =)
если идет выбор о свободных на какой то день то отдельно на этот день берется

   
 
 автор: CrazyAngel   (21.04.2007 в 12:26)   письмо автору
 
   для: Roma   (21.04.2007 в 10:21)
 

не... навернека выбирается промежуток, сортируется по дате и выводятся... как нить так...)

   
 
 автор: mr Bin   (22.04.2007 в 00:51)   письмо автору
 
   для: CrazyAngel   (21.04.2007 в 12:26)
 

Roma, предоставьте структуру своей таблицы, тогда от неё и будем плясать.

   
 
 автор: Roma   (22.04.2007 в 12:15)   письмо автору
 
   для: mr Bin   (22.04.2007 в 00:51)
 

Если взять на основу то, что эти данные берутся из таблицы заказов, то думаю что таблица будет выглядеть примерно так:
CREATE TABLE `orders` (
`id_order` int(11) unsigned NOT NULL auto_increment,
`id_hotel` smallint(3) unsigned NOT NULL default '0',
`numbertype` tinyint(3) unsigned NOT NULL default '0',
`datefrom` date NOT NULL default '0000-00-00',
`dateto` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id_order`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
имеются еще две таблицы: hotels и numbertypes
P.S. При добавлении нового заказа в таблицу orders добавляются:
- id отеля, в который он хочет заехать
- тип номера
- с какой даты и по какую дату он будет находиться в этом отеле

   
 
 автор: Roma   (22.04.2007 в 17:21)   письмо автору
 
   для: Roma   (22.04.2007 в 12:15)
 

Если проверять каждую дату, то это получается очень много запросов!
Может есть какое-то более рациональное решение этой задачи?

   
 
 автор: Trianon   (22.04.2007 в 21:41)   письмо автору
 
   для: Roma   (22.04.2007 в 17:21)
 

Выполняется запрос списка номеров, свободных в диапазоне дат.
По опыту работы с диапазонами, советую переделать datefrom и dateto на занят_с и свободен_с. Иначе довольно сложно вычислять пересечение.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования