Главная страница

веб-сайт частной медклиники. Автоматизированная информационная система на основе вебтехнологий для частной медицинской клиники


Скачать 4.65 Mb.
НазваниеАвтоматизированная информационная система на основе вебтехнологий для частной медицинской клиники
Дата26.04.2023
Размер4.65 Mb.
Формат файлаdocx
Имя файлавеб-сайт частной медклиники.docx
ТипДокументы
#1091969
страница12 из 14
1   ...   6   7   8   9   10   11   12   13   14

3.6 Разработка веб-сайта


Динамический веб-сайт — это тот, где часть содержимого ответа генерируется динамически только при необходимости. На динамическом веб-сайте HTML-страницы обычно создаются путём вставки данных из базы данных в заполнители в HTML-шаблонах (это гораздо более эффективный способ хранения большого количества контента, чем использование статических сайтов).

Динамический сайт может возвращать разные данные для URL-адреса на основе информации, предоставленной пользователем или сохранёнными настройками, и может выполнять другие операции, как часть возврата ответа (например, отправку уведомлений).

Большая часть кода для поддержки динамического веб-сайта должна выполняться на сервере. Создание этого кода известно, как «программирование серверной части» (или иногда «программирование бэкенда»).

Архитектура динамического сайта представлена на Рисунке 15.



Рисунок 15 – Архитектура динамического сайта
Код серверной части может быть написан на языке PHP.

Программирование серверной части позволяет хранить информацию в базе данных и динамически создавать и возвращать HTML и другие типы файлов (например, PDF, изображения, и т. д.).

Программирование серверной части позволяет сайтам ограничивать доступ авторизованным пользователям и предоставлять только ту информацию, которую пользователю разрешено видеть.

Программирование серверной части позволяет разработчикам использовать сессии – изначально это механизм, позволяющий серверу хранить информацию о текущем пользователе сайта и отправлять разные ответы, основанные на этой информации.

Это позволяет, например, сайту знать, что пользователь был предварительно авторизован и выводить ссылки на его адрес электронной почты или историю заказов.

Серверная часть приложения реализована в виде отдельных модулей, написанных на языке PHP и реализующих следующие функции:

  • Подключение к серверу БД;

  • Отправка запросов к серверу БД на получение данных;

  • Отправка запросов к серверу БД на изменение данных;

  • Отправка запросов к серверу БД на удаление данных;

  • Получение данных от сервера БД в ответ на запрос.


В Таблице 4 представлены модули серверной части приложения с описанием их назначения.
Таблица 4 – Модули серверной части приложения

Модуль

Назначение

db.class.php

Класс для работы с БД

index.php

Страница описания клиники

uslugi.php

Страница услуг

uslugit_table.php

Добавление, удаление услуг

sotr.php

Страница сотрудников

sotr_table.php

Вывод данных сотрудников

mytrip.php

Страница записей пользователя

galery.php

Страница галереи

edit_sotr.php

Редактирование данных сотрудников

Продолжение Таблицы 4

del_sotr.php

Удаление сотрудников

header.php

Шапка сайта

footer.php

Подвал сайта



3.7 Создание класса для работы с базой данных


class DB {

/* Параметры подключения к серверу БД*/

protected $dbname='solar'; // Имя БД

protected $dbuser='root'; // Имя пользователя

protected $dbhost='localhost'; // Адрес сервера

protected $dbpass=''; // Пароль

private $_connect;

private $db_select;

public $row;

/*Подключаемся к базе данных*/

public function __construct() {

$this->_connect=@mysql_connect ($this->dbhost, $this->dbuser, $this->dbpass);

if (!$this->_connect) {

exit («В настоящий момент сервер базы данных недоступен»);

}
$this->db_select=mysql_select_db ($this->dbname, $this->_connect);

if (!$this->db_select) {

exit('В настоящий момент база данных недоступна');

}

return $this->db_select;

}

/*Делаем запрос к базе данных*/

public function query($q) {

$this->result=mysql_query($q, $this->_connect);

//echo $q;

if (!$this->result) {

echo «
Не удалось выполнить SQL запрос «;

echo $q.”
”;

echo(mysql_error());

echo”
”;

}

//echo “
$q
”;

return $this->result;

}

/* Количество строк в запросе*/

public function query_count($result) {

$this->row_count=mysql_num_rows($this->result);

return $this->row_count;

}

/*Переводим строку в ассоциативный массив*/

public function fetch_assoc($result) {

$this->fetch=mysql_fetch_assoc($result);

return $this->fetch;

}

/*Переводим весь запрос в ассоциативный массив*/

public function fetch_all($result) {

while ($fetch=mysql_fetch_assoc($result)) {

$rows[]=$fetch;

}

return $rows;

}

public function ransform_date($dat) {

$data[‘day’]=substr($dat, 0, 2);

$data[‘month’]=substr($dat, 3, 2);

$data[‘year’]=substr($dat, 6, 4);

return $data;

}

/*Удалить запись из таблицы $table по полю $id_field равному $id*/

public function delete_record($table, $id_field, $id) {

$q=”DELETE FROM $table WHERE $id_field=’$id’”;

$delete_record=$this->query($q);

return $delete_record;

}

public function delete_set($table, $set) {

$q=”DELETE FROM $table WHERE $set”;;

$delete_record=$this->query($q);

return $delete_record;

}

/*Вставляет набор данных $set в таблицу $table*/

public function insert_record($table, $set) {

$q=”INSERT INTO $table $set”;

$insert_record=$this->query($q);

}

/*Обновляет набор данных $set в таблице $table*/

public function update_record($table, $set, $id_field, $id) {

$q=”UPDATE $table SET $set WHERE $id_field=’$id’”;
$update_record=$this->query($q);

}

public function get_last_id($table) {

$q=”SELECT LAST_INSERT_ID() FROM $table”;

$last=$this->fetch_assoc($this->query($q));

$last_id=$last[‘LAST_INSERT_ID()’];

return $last_id;

}

}

1   ...   6   7   8   9   10   11   12   13   14


написать администратору сайта