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

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

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



id. "";

// $sql->query ($stmt);

};

}

// Функция сохранения в БД

public function Save () {

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

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

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

// $sql = new sql (0);

if (! $id) { // Если id не задан

$this->loaded = 0; // То устанавливаем, что элемент не был загружен

};($this->loaded == 0) { // Если элемент новый (не был загружен)

// Добавляем новую запись в таблицу БД

$this->objDB->insert ($table_name, $this->database_fields);

} else { // Если это не новый элемен

$return_code = $this->objDB->update ($table_name, $this->GetModifiedFields (), array ($id_name => $id));

};

// $return_code = $sql->query ($stmt, 1);

if ($this->loaded == 0) { // Если мы вставляли новый элемент

// Получаем последний вставленный id

$stmt = "SELECT MAX (". $this->id_name. ") AS id FROM $table_name WHERE ";($this->database_fields as $key => $value) {(! is_numeric ($key)) {($value) {($this->modified_fields [$key] == true) {

$value = str_replace ("", "\", $value);

$stmt. = "$key = $value AND ";

};

};

};

};

$stmt = substr ($stmt,0,strlen ($stmt) - 5); // Убираем лишние символы

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

$proposed_id = $arResult [0] ["id"]; // Переписываем полученный id($proposed_id > 0) { // Если получили нормальный id

$this->loaded = 1; // значит все загружено

$this->id = $proposed_id; // Запоминаем id в объект

return true;

} else {false;

};

};($return_code);

}

};

class. HotelCollection. 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;

}

// Функция возвращает весь массив значений элементаfunction GetAllFields () {($this->loaded == 0) { // Если данные еще не были загружены,

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

};($this->database_fields);

}

// Функция возвращает ассоциативный массив полей, которые были изменены

public function GetModifiedFields () {

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

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

};

$escVals = array (); // Выходной массив значений($this->database_fields as $key => $value) {(! is_numeric ($key)) {(isset ($this->modified_fields [$key]))($this->modified_fields [$key] == true) { // Если поле было изменено

$escVals [$key] = $value;

};

};

};($escVals);

}

// Функция возвращает id текущего элементаfunction GetID () {

return $this->id;

}

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

// задает имя таблицы,

// id

// и id (но не обязательно)

public function Initialize ($table_name, $tuple_id_name, $tuple_id = "") {

$this->table_name = $table_name;

$this->id_name = $tuple_id_name;

$this->id = $tuple_id;

}

// функция Задает значение $value в поле $field

public function SetField ($field, $value) {

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

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

};

};

$this->database_fields [$field] = $value; // Записываем значение

$this->modified = 1; // Устанавливаем флаг того, что мы вносили изменения

$this->modified_fields [$field] = true; // Устанавливаем флаг того, что поле было изменено

}

// Функция удаления объекта

public function Destroy () {

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

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

$table_name = $this->table_name; // Запоминаем имя таблицы($id) { // Если id задан

$this->objDB->delete ($table_name, array ($id_name => $id)); // Удаляем элемент из таблицы

// $sql = new sql (0);

// $stmt = "DELETE FROM \"". $table_name. "\" WHERE id=". $id. "";

// $sql->query ($stmt);

};

}

// Функция сохранения в БД

public function Save () {

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

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

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

// $sql = new sql (0);

if (! $id) { // Если id не задан

$this->loaded = 0; // То устанавливаем, что элемент не был загружен

};($this->loaded == 0) { // Если элемент новый (не был загружен)

// Добавляем новую запись в таблицу БД

$this->objDB->insert ($table_name, $this->database_fields);

} else { // Если это не новый элемен

$return_code = $this->objDB->update ($table_name, $this->GetModifiedFields (), array ($id_name => $id));

};

// $return_code = $sql->query ($stmt, 1);

if ($this->loaded == 0) { // Если мы вставляли новый элемент

// Получаем последний вставленный id

$stmt = "SELECT MAX (". $this->id_name. ") AS id FROM $table_name WHERE ";($this->database_fields