Система бронирования мест в отелях города

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



e ($arResult [$i] ["id_hotel"]);

};

$dbc->SetPageSize ($this->items_per_page);

$dbc->PopulateObjectArray ($page_num);

$objArray = $dbc->RetrievePopulatedObjects ($page_num);

$this->item_count = $dbc->GetItemCount ();

$this->page_count = $dbc->GetNumPages ();($objArray);

}function GetFromClass ($page_num=1) {$cfg;

$dbc = new GenericObjectCollection ($cfg [table] [hotel], "id_hotel", "Hotel", $this->objDB);

// формируем запрос

$stmt = "";

$stmt. = $this->select;

$stmt. = $this->where;

$stmt. = $this->order;

$arResult = $this->objDB->select ($stmt); // Выполняем запрос($i=0; $i<=sizeof ($arResult) - 1; $i++) { // проходим все элементы

$dbc->AddTuple ($arResult [$i] ["id_hotel"]); // Записываем соответствующие id

};

$dbc->SetPageSize ($this->items_per_page); // Переписали данные о количестве элементов на страницу

$dbc->PopulateObjectArray ($page_num); // Составили список требуемых id

$objArray = $dbc->RetrievePopulatedObjects ($page_num); // получили массив требуемых элементов

$this->item_count = $dbc->GetItemCount (); // запомнили количество элементов

$this->page_count = $dbc->GetNumPages (); // запомнили количество страниц($objArray); // Возвращаем массив значений

}

}

? >

class. UserSession. php

<?_once ($cfg [path] [base]. "classes/class. Database. php"); // Подключаем класс по работе с БД

require_once ($cfg [path] [base]. "classes/class. GenericObject. php"); // Подключаем класс по работе с объектами

require_once ($cfg [path] [base]. "classes/class. GenericObjectCollection. php"); // Подключаем класс по работе с коллекциями объектов

require_once ($cfg [path] [base]. "classes/class. Hotel. php"); // Подключаем класс гостиницHotelCollection {$order;$where;$select;$items_per_page = 20;$item_count;$page_count;$objDB; // Класс БД

// конструкторfunction __construct ($objDBlink) {$cfg;

$this->select = "SELECT id_hotel FROM". $cfg [table] [hotel];

$this->order = "";

$this->where = "";

$this->objDB = $objDBlink; // Запоминаем объект БД

return (true); //

}

// Функция устанавливает количество элементов на странице

public function SetItemsPerPage ($items_per_page) {

$this->items_per_page = $items_per_page;

}

// Функция возвращает количество элементов на странице

public function GetItemsPerPage () {($this->items_per_page);

}

// Функция возвращает количество элементов в коллекции

public function GetItemCount () {($this->item_count);

}

// Функция возвращает количество страницfunction GetPageCount () {($this->page_count);

}

// Функция устанавливает значение переменной select

public function SetSelect ($select) {

$this->select = $select;

}

// Функция устанавливает значение переменной wherefunction SetWhere ($where) {

$this->where = $where;

}

// Функция устанавливает значение переменной order

public function SetOrder ($order) {

$this->order = $order;

}function GetAllHotels ($page_num=1) {$cfg;

$dbc = new GenericObjectCollection ($cfg [table] [hotel], "id_hotel", "Hotel", $this->objDB);

$stmt = "SELECT id_hotel FROM". $cfg [table] [hotel]; // формируем запрос

$arResult = $this->objDB->select ($stmt); // Выполняем запрос($i=0; $i<=sizeof ($arResult) - 1; $i++) {

$dbc->AddTuple ($arResult [$i] ["id_hotel"]);

};

$dbc->SetPageSize ($this->items_per_page);

$dbc->PopulateObjectArray ($page_num);

$objArray = $dbc->RetrievePopulatedObjects ($page_num);

$this->item_count = $dbc->GetItemCount ();

$this->page_count = $dbc->GetNumPages ();($objArray);

}function GetFromClass ($page_num=1) {$cfg;

$dbc = new GenericObjectCollection ($cfg [table] [hotel], "id_hotel", "Hotel", $this->objDB);

// формируем запрос

$stmt = "";

$stmt. = $this->select;

$stmt. = $this->where;

$stmt. = $this->order;

$arResult = $this->objDB->select ($stmt); // Выполняем запрос($i=0; $i<=sizeof ($arResult) - 1; $i++) { // проходим все элементы

$dbc->AddTuple ($arResult [$i] ["id_hotel"]); // Записываем соответствующие id

};

$dbc->SetPageSize ($this->items_per_page); // Переписали данные о количестве элементов на страницу

$dbc->PopulateObjectArray ($page_num); // Составили список требуемых id

$objArray = $dbc->RetrievePopulatedObjects ($page_num); // получили массив требуемых элементов

$this->item_count = $dbc->GetItemCount (); // запомнили количество элементов

$this->page_count = $dbc->GetNumPages (); // запомнили количество страниц($objArray); // Возвращаем массив значений

}

}

? >

class. GenericObject. php

<?

// Класс "Объект" - предназначен для сокращения кода его наследников

class GenericObject {

// Члены класса

protected $objDB; // Класс БД

private $id; // id элемента

private $id_name; // Обозначение id элемента$table_name; // Имя таблицы$database_fields; // Ассоциативный массив с ключами, которые являются именами столбцов таблицы и их значениями для данной строки$loaded; // Ноль, если данные не были загружены из таблицы - один, если данные были загружены$modified; // флаг того, что изменения вносились$modified_fields; // Аналогичен database_fields, но содержит 0 или 1 в зависимости от того были ли произведены изменения

// методы

// Функция перезагрузки

// Загружает всю информацию об элементе

public function Reload () {

// $sql = new sql (0);

$id = $this->id; // Запоминаем id

$table_name = $this->table_name; // запоминаем имя таблицы

// $sql->query ("SELECT * FROM \"$table_name\" WHERE id=$id"); // формируем запрос

$stmt = "SELECT * FROM $table_name WHERE". $this->id_name. "=$id"; // формируем запрос

$arResult = $this->objDB->select ($stmt); // Выполняем запрос(isset ($arResult [0])) {

$result_fields = $arResult [0]; // Копируем первую строку

$this->database_fields = $result_fields; // Переписываем полученный результат в нащ объект

$this->loaded = 1; // Устанавливаем статус загрузки(sizeof ($this->modified_fields) > 0) { // Если есть массив с изменениями

foreach ($this->modified_fields as $key => $value) { // То обнуляем все его элементы

$this->modified_fields [$key] = false;

};

};

}

}

// Функция зарузки

// Загружает всю информацию об элементе

private function Load () {

$this->Reload ();

// $this->loaded = 1;

}

// Функция принудительной загрузкиfunction ForceLoaded () {

$this->loaded = 1;

}

// Функция возвращает значение поля

// Ей передается имя поляfunction GetField ($field) {

if ($this->loaded == 0) { // Если данные еще не были загружены,

$this->Load (); // то мы их загружаем

};(isset ($this->database_fields [$field]))$this->database_fields [$field];

else return false;

}

// Функция возвращает весь массив значений элементаfuncti