Система бронирования мест в отелях города
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
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