Файл: Разработка Web-сайта с использованием технологии PHP и MS SQL.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 363

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Для создания новых записей или редактирования существующих нужно использовать раздел «Администрирование». При нажатии на заголовок раскрываются доступные опции (Рисунок 29).

Рисунок 29 – Раздел «Администрирование»

Разберем пример добавления автора. При клике на соответствующую кнопку «Добавить автора» раскрывается форма для ввода данных на отдельной странице (Рисунок 22). Форма организована с помощью HTML тега <form>, метод GET позволяет передать данные из формы в соответствующие переменные и с помощью PHP (драйвер SQL для PHP, семейство функций sqlsrv) записать эти данные в БД. В случае наличия связей между таблицами реализованы выпадающие списки с возможными вариантами (Рисунок 30).

Рисунок 30 – Форма добавления нового автора.

После ввода данных идет обработка данных с помощью вспомогательной страницы, которая не отображается пользователю, а переадресовывает сразу на стартовую страницу. Попробуем создать нового автора. На данный момент в БД записаны некоторые данные (Рисунок 31).

Рисунок 31 – Данные в таблице authors

Попробуем добавить нового автора – Наталью Мазуркевич. Вводим все известные данные о ней (Рисунок 32).

Рисунок 32 – Заполненная форма

Нажимаем кнопку «Добавить». Мы вновь оказываемся на стартовой странице. Проверяем в БД, что информация успешно записана (Рисунок 33).

Рисунок 33 – Данные в БД после добавления нового автора через сайт

Добавление новой книги организовано слегка сложнее. Ввод данных идет поэтапно, с помощью нескольких страниц. Это связано с тем, что существуют зависимые списки (жанр и поджанр, полки и шкафы), которые возможно реализовать только посредством javascript, что усложнит процесс разработки сайта и сделает его экономически менее выгодным по затраченному времени.

Аналогичным образом можно изменить или добавить любые записи в БД, предусмотрено редактирование всех данных через интерфейс по аналогичной схеме. Запись новых данных происходит с помощью php-запроса:

$sql="insert into books ( name, auth) values('".$_SESSION['bookname']."', ".$_SESSION['auth_id'].")";

$result=sqlsrv_query($on_link, $sql);

Аналогично происходит обновление данных:

$sql="update books set [comment]=(select case when '".$_SESSION['comment']."'<>'' then '".$_SESSION['comment']."' else(select [comment] from books where id=".$_SESSION['book_id'].") end) where id=".$_SESSION['book_id'];


$result=sqlsrv_query($on_link, $sql);

Разработка интерфейса и реализация проекта

Какие же отчеты могут понадобиться пользователю? Конечно же выгрузка со всеми книгами в библиотеке и с указанием всех их характеристик. Далее, задаваясь вопросом, что бы почитать, можно пользоваться отдельной выгрузкой с непрочитанными книгами. И, чтобы порекомендовать книги друзьям, можно получить выгрузку с уже прочитанными книгами. И последний отчет – пользовательский, где пользователь сам отмечает какую информацию из таблиц он желает получить. Список отчетов так же находится на стартовой странице и разворачивается нажатием на заголовок (Рисунок 34).

Рисунок 34 – Список доступных отчетов

Выгрузка отчетов реализована с помощью построчной обработки данных php:

while ($row = sqlsrv_fetch_array($result_select, SQLSRV_FETCH_ASSOC)) {

fputcsv($fp, array_values($row));

}

Данные преобразуются в CSV с помощью соответствующих заголовков и скачиваются на ПК пользователя. Для каждого отчета прописан свой отдельный SELECT, который предоставляет возможность получать необходимый набор данных. Структура стандартных отчетов приведена ниже на рисунках 35-37.

Рисунок 35 - Структура отчета "Все книги"

Рисунок 36 - Структура отчета "Непрочитанные книги"

Рисунок 37 - Структура отчета "Прочитанные книги"

На странице пользовательского отчета необходимо отметить чекбоксы полей, которые необходимо включить в отчет (Рисунок 38). После этого, с помощью языка php идет объединение этих чекбоксов в запрос к базе, в результате которого выгружается отчет. Данный отчет являлся самым сложным в реализации, так как необходимо обработать большое количество условий.

Рисунок 38 - Страница пользовательского отчета

1.5 Оценка экономической эффективности проекта

Для определения целесообразности реализуемого проекта необходимо рассмотреть затраты времени на создание БД и сайта и сопоставить их со временем, которое этот проект позволяет сэкономить. Ниже приведена таблица затрат времени.


Действие

Затраты

1

Установка и настройка MS SQL Server и сопутствующих приложений

3 часа

2

Создание базы данных, создание таблиц и связей

1,5 часа

3

Отрисовка графики (лого сайта)

1 час

4

Настройки php и драйверов для SQL

2 часа

5

Создание сайта

5 часов

6

Заполнение сайта исходными данными

1,5 часа

Получается, что всего на настройку сайта потребовалось 14 часов. В среднем, мне необходимо найти 3-4 книги в месяц, а так же просто просмотреть книги 5-7 раз в месяц. На поиск книги я трачу 5 минут, на просмотр всех книг 10-15 минут. Т.е. 4*5+7*15=125 минут в месяц. Сейчас же, чтобы найти книгу мне понадобится 1 минута, и 3 минуты на просмотр всех книг. 4*1+7*3=25. Значит в среднем я экономлю около 100 минут в месяц. За год я сэкономлю 1200 минут, а это 20 часов, что уже превышает время, потраченное мной на разработку БД и сайта.

ЗАКЛЮЧЕНИЕ

В рамках курсовой работы была изучена теория, определены основные понятия и технологии распределенной обработки данных и Web программирования. Был проведен анализ основных моделей БД, в результате которого была выбрана реляционная модель построения баз данных для дальнейшего использования. В качестве основных языков Web программирования были выбраны языки HTML и PHP

Так же были рассмотрены особенности построения языка структурированных запросов SQL, который является информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. А так же особенности и основные операторы языка PHP – языка программирования высокого уровня, исполняемого на серверной части.

Так же был рассмотрен практический пример использования PHP совместно с MS SQL на основании разработки веб – сайта. В ходе работы была спроектирована и создана БД на сервере MS SQL Server, подготовлена площадка для запуска php, разработан интерфейс и созданы страницы сайта.

В процессе выполнения курсовой работы решены следующие задачи:

  1. раскрыты сущность понятий база данных, системы управления базами данных путем изучения классификации баз данных и СУБД;
  2. был описан прицип работы и основные операторы языка PHP;
  3. проведен сравнительный анализ разных видов СУБД;
  4. рассмотрен основной синтаксис языка SQL;
  5. разработана и реализована база данных;
  6. Подготовлены и протестированы все страницы сайта и скрипты.

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Новиков Б., Домбровская Г. Настройка приложений баз данных. – BHV, 2011. – С.22
  2. Боуман Дж.С., Эмерсон С.Л., Дарновски М. Практическое руководство по SQL. – Вильямс, 2011. – С.56-90
  3. Матросов А.В., Сергеев А.О., Чаунин М.П. HTML 4.0. – СПб.: БХВ-Петербург, 2011. – 672 с.:
  4. Дейт К. Введение в системы баз данных, 8-е издание. – Вильямс, 2006. – С.725
  5. Дейт К. SQL и реляционная теория. Как грамотно писать код на SQL. – Символ-Плюс, 2010. – С.123
  6. 102Дунаев В.В. Базы данных. Язык SQL. – СПб. : БХВ-Петербург, 2010. – С.88
  7. Дейт К., Дарвен Х. Основы будущих систем баз данных. Третий манифест. – Янус-К, 2011. – С. 196
  8. Дж. Кастаньетто, Х.Рават, С.Шуман, К.Сколло, Д.Велиаф «Профессиональное РНР программирование». – Пер. с англ. – СПб: Символ-Плюс, 2010. – С.76
  9. Иванова Г.С. – «Основы программирования» Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2010. – С.156
  10. Кренке Д. Теория и практика построения баз данных. – Питер, 2010. – С.206
  11. Мирошниченко Г. Реляционные базы данных. Практические приемы оптимальных решений. – СПб. : БХВ-Петербург, 2011. – С.199
  12. Астахова И.Ф., Толстобров А.П., Мельников В.М. SQL в примерах и задачах. – Мн.: Новое знание, 2011. – С.4
  13. Гончаров А. Самоучитель HTML. – СПб.: Питер, 2008. – 240 с.:
  14. Тоу Д. Настройка SQL. Для профессионалов. – Питер, 2011. – С.103
  15. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс. - Вильямс, 2010. – С.125
  16. MySQL. Библиотека профессионала – Киев: Диалектика, 2012 – С.170-179
  17. PHP/MySQL для начинающих – Кудиц-образ, 2010 – С.44-108
  18. Шкарина Л. Язык SQL: учебный курс. – СПб.: Питер, 2001 – С.23-96
  19. https://www.php.net/ - Инструкциb по установке, настройке и использовании php.
  20. https://www.microsoft.com/ - Инструкции по работе с приложениями от Microsoft
  21. https://www.php.net/manual/ru/funcref.php - Справочник функций, PHP
  22. http://htmlbook.ru/ - Справочник по HTML и CSS
  23. https://ru.wikipedia.org/wiki/База_данных – открытая библиотека Wikipedia, статья «Базы данных»
  24. https://www.oracle.com/ru/ - официальный сайт Oracle в России, статьи по БД и СУБД.
  25. https://site-do.ru/ - открытые уроки по SQL, БД и PHP

ПРИЛОЖЕНИЕ 1 – Структура тестовой БД.

pid

name

last_name

birthday

address

1

Александр

Иванов

01.06.1995

Москва

2

Светлана

Сидорова

20.02.1976

Самара

3

Мария

Крайнова

30.04.1992

Оренбург

4

Алиса

Селезнева

01.05.2001

Киев

5

Игорь

Верник

05.06.1989

Минск

6

Алексей

Сидоров

04.03.1996

Оренбург

7

Илья

Горный

02.01.2002

Екатеринбург

8

Марина

Клюкова

05.02.1998

Тамбов

9

Светлана

Смелая

04.05.1995

Самара

10

Олег

Павлов

01.06.2002

Москва

11

Ольга

Павлова

06.08.1965

Киев

12

Оксана

Кротова

07.04.1974

Москва

13

Ксения

Ветрова

04.09.1980

Санкт-Петербург


pid

emp_id

assign

offid

salid

manager

hire_date

6

1

Директор

1

6

 NULL

01.05.2010

5

2

Ассистент

2

2

1

05.06.2010

2

3

Менеджер по продажам

4

3

6

01.05.2010

9

4

Программист

3

1

7

01.05.2010

7

5

Специалист поддержки

1

7

6

05.06.2010

4

6

Директор офиса

2

5

1

15.06.2010

11

7

Директор офиса

4

5

1

15.06.2010

8

8

Переводчик

1

8

6

25.10.2011

13

9

Юрист

3

9

1

01.05.2010

1

10

Менеджер по продажам

1

3

6

05.06.2010

12

11

Специалист отдела кадров

4

10

1

01.05.2010

10

12

Бухгалтер

1

11

13

05.06.2010

3

13

Старший бухгалтер

2

4

7

01.05.2010

offid

address

city

name

1

Москва, Верхний проезд, 1Б

Москва

Центр

2

Самара, ул. Ленинградская, 34А

Самара

Орг

3

Киев, ул. Большая, 1, оф 314.

Киев

Укр

4

Москва, Садовое кольцо, 217, оф. 54

Москва

Мск-2

salid

curr

salary

tax

1

UAH

10000,00

10,00

2

RUB

45000,00

13,00

3

RUB

70000,00

13,00

4

RUB

349002,00

26,00

5

RUB

245213,00

13,00

6

RUB

4123522,00

13,00

7

RUB

23215,00

13,00

8

RUB

24356,00

13,00

9

UAH

12459,00

10,00

10

RUB

213953,00

26,00

11

RUB

243514,00

13,00