Разработка Web-приложения зоопарка
Курсовая работа, 23 Апреля 2014, автор: пользователь скрыл имя
Краткое описание
Главная цель данной работы является разработка Web-приложения зоопарка.
Приложение должно быть удобным для пользователя, включать в себя следующие возможности:
Просмотр данных
Удаление данных из таблиц
Добавление данных в таблицы
Создание запросов к таблицам базы данных
Файлы: 1 файл
курсовая.doc
— 4.81 Мб (Скачать)
Таблица 3-Объект страна
Имя поля |
Тип данных |
id_strana |
int |
name_s |
varchar(20) |
Таблица 4-Объект обслуживание
Имя поля |
Тип данных |
id_service |
int |
id_sotr |
int |
id_animals |
int |
Таблица 5-Объект сотрудники
Имя поля |
Тип данных |
id_sotr |
int |
id_post |
int |
surname |
varchar(20) |
name |
varchar(20) |
staj |
varchar(20) |
Таблица 6-Объект должности
Имя поля |
Тип данных |
id_post |
int |
name |
varchar(20) |
На рисунке 2 показана физическая модель базы данных.
Рисунок 2- Физическая модель базы данных
2.4 Коды SQL запросов на создание таблиц
- Таблица animals:
CREATE TABLE animals
(
id_animals INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
id_korm INTEGER NOT NULL,
id_strana INTEGER NOT NULL,
name VARCHAR(20) NOT NULL,
age VARCHAR(20) NOT NULL,
ves VARCHAR(20) NOT NULL
)
- Таблица strana:
CREATE TABLE strana
(
id_strana INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name_s VARCHAR(20) NOT NULL
)
- Таблица korm:
CREATE TABLE korm
(
id_korm INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name_k VARCHAR(20) NOT NULL
)
- Таблица service:
CREATE TABLE service
(
id_ service INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
id_sotr INTEGER NOT NULL,
id_animals INTEGER NOT NULL
)
- Таблица sotr:
CREATE TABLE sotr
(
id_sotr INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
id_post INTEGER NOT NULL,
surname VARCHAR(20) NOT NULL,
name VARCHAR(20) NOT NULL,
staj VARCHAR(20) NOT NULL
)
- Таблица post:
CREATE TABLE post
(
id_post INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL
)
3. Разработка Web-приложения
3.1. Общая модульная схема
Рисунок 3-Общая модульная схема
Описание функциональности модулей
№ |
Имя модуля |
Описание |
1 |
index.php |
главная страница, содержит описание внешнего вида приложения, а так же вызовов других модулей. |
2 |
titles.php |
содержит список таблиц, их русское название, описание заголовков столбцов таблиц необходимые для работы «universal_module.php» |
3 |
universal_module.php |
основной модуль, содержащий базовый описание базовых функций, таких как выбор данных из таблиц, добавление, редактирование и удаление данных, их сортировка и фильтрация. |
4 |
config.php |
конфигурация доступа к базе данных. |
3.3 Описание модулей
Созданное web-приложение состоит из 4 модулей (php файлов).
1. index.php
Начальная страница. (Рисунок 3)
Рисунок 4- Главная страница
2. config.php
Данный файл содержит настройки конфигурации доступа к базе данных. Такие как:
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "db_zoopark";
Кроме этого, в данном файле храниться функция, реализующая соединение с базой данных. Которая используется в дальнейшем в других модуля.
function dbconnect($dbhost,$dbuser,$
$db=mysql_pconnect("$dbhost","
if (! $db) {
echo "Не возможно соедениться с БД";
exit;
};
if (! (mysql_select_db("$dbname"))) {
echo "Не возможно найти нужную БД ($dbname)";
exit;
}
mysql_query("SET NAMES 'utf8'");
return $db;
};
3. titles.php
Содержит необходимые служебные данные о логической и физической структуре таблиц в базе данных. Необходим для правильной работы скриптов «universal_module.php» файла.
4. universal_module.php
Файл содержащий php скрипты для выполнение базовых функций работы с записями таблиц. Такие как просмотр 1 записи, просмотр всех записей, фильтрация записей, сортировка записей, добавление, изменение и удаление записей.
4. Пользовательский интерфейс
В случае Web приложений, интерфейс представляет собой страницу, или группу страниц, при помощи которых можно производит различные действия.
На рисунке 5 рассмотрим общие элементы интерфейса на примере главной страницы.
Рисунок 5- Начальная страница
В левой части страницы, находится группа ссылок, используемых для навигации по сайту. Так же, там находится календарь (ниже надписи Главное меню) написанный на JavaScript, отображающий текущую дату.
Центральная часть страницы отведена для выведения основной информации или вывода форма для сбора данных, в зависимости от требуемой функции выбранного модуля.
Есть 3 основных вида центральной части:
- На рисунке 6 показан вывод данных (больше 1 записи);
Рисунок 6-Просмотр всех записей таблицы Животные
- На рисунке 7 показана форма для редактирования (изначально,
поля заполнены их текущими значениями);
Рисунок 7- Редактирование записи
Исправим ошибку допущенную, к примеру, во время заполнения стажа работы. (Рисунок 8)
Рисунок 8-Новые значение полей записи
На рисунке 9 показан результат выполненного запроса.
Рисунок 9- Результат выполнения запрос
- Форма для добавления данных. (Рисунок 10)
Рисунок 10- Добавление записи
Проверим работу данной формы. Введем произвольные данные для записи (на данной же записи, в дальнейшем протестируем правильность удаления данных).(Рисунок 11)
Рисунок 11- Добавление новой записи в таблицу Память
На рисунке 12 показано, что данные были успешно добавлены.
Рисунок 12- Просмотр списка всех записей
- На рисунке 13 показана форма для удаления данных.
Рисунок 13-Форма для удаление записей по id
Удалим, добавленную нами ранее запись «11». Для этого введем значение 11 в поле, и нажмем удалить.(Рисунок 14)
Рисунок 14. Результат удаления записи
Вновь, откроем таблицу Память, чтобы убедиться, что запись была удалена.(Рисунок 15)
Стоит так же отметить, что для удобства операция редактирования на странице просмотра одной записи размещена гиперссылка «Редактировать», а так же соответствующая кнопка во 2ом столбце функциональных кнопок на странице просмотра всех записей. Аналогично и с удалением.(Рисунок 16)
Рисунок 16-Доступ к удалению и редактированию через функцию просмотра 1 записи
Поиск информации по выбранному полю. (Рисунок 17)
Рисунок 17-Поиск данных
Сортировка данных осуществляется по выбранному полю как по-возрастанию так и по-убыванию. Осуществим сортировку данных по полю Название по-убыванию. (Рисунок 18)
Рисунок 18-Сортировка данных
Заключение
В ходе выполнения данного курсового проекта были выполнены следующие цели и задачи:
• разработано, создано и протестировано Web-приложение «Зоопарк» с использованием JavaScript, PHP и СУБД MySQL;
• приложение содержит необходимую информацию, простой и удобный интерфейс, выполняет поставленные функции.
В итоге данный проект имеет:
• страницы с информацией;
• систему поиска и сортировки данных;
• систему добавления и удаления данных;
Разработанный проект, предоставляет широкие возможности администратору зоопарка для работы с данными о животных.
Реализованное приложение, обеспечивает возможность пользователю добавлять, удалять, изменять, сортировать, фильтровать данные, а также осуществлять поиск данных.
Цели, поставленные при выполнении курсовой работы, были достигнуты.
Список использованной литературы
1. Гарнаев, А.Ю. WEB – программирование на Java и Java Script. [Текст]/ А.Ю. Гарнаев –СПб.: БХВ - Петербург, 2003. – 264 с.
2. Дронов, В.А. Основы SQL: Курс лекций. Учебное пособие [Текст]/ В.А. Дронов –– М.: ИНТУИТ.РУ, 2004. – 368 с.
3. Кузнецов, М.В. PHP и MySQL для начинающих [Текст]/ М.В.
Кузнецов – Кудиц-образ, 2005.–384 с.
4. Полякова, Л.Н. Основы SQL: Курс лекций. Учебное пособие [Текст]/ Л.Н. Полякова –– М.: ИНТУИТ.РУ, 2004. – 368 с.
Приложение
Программный код модулей
config.php
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "db_zoopark";
function dbconnect($dbhost,$dbuser,$
$db=mysql_pconnect("$dbhost","
if (! $db) {
echo "Не возможно соедениться с БД";
exit;
};
if (! (mysql_select_db("$dbname"))) {
echo "Не возможно найти нужную БД ($dbname)";
exit;
}
mysql_query("SET NAMES 'utf8'");
return $db;
};
?>
index.php
<?php
require "titles.php";
require "config.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/
<html>
<head>
<title>Зоопарк</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div style="position:absolute;left:
<div id="wrapper">
<div id="header">
<div id="menu">
<ul>
<li class="current_page_item"></
<li><a href="<?php
echo $_SERVER['PHP_SELF']."?table="
<li><a href="<?php
echo $_SERVER['PHP_SELF']."?table="
<li><a href="<?php
echo $_SERVER['PHP_SELF']."?table="
<li><a href="<?php
echo $_SERVER['PHP_SELF']."?table="
<li><a href="<?php
echo $_SERVER['PHP_SELF']."?table="
<li><a href="<?php
echo $_SERVER['PHP_SELF']."?table="
</ul>
</div>
</div>
<div id="logo">
<h1><a href="index.php">Зоопарк</a></
</div>
</div>
<div id="page">
<div id="content">
<div class="post">
<h1 class="title">
<a href="<?php if
(@ $_GET['table']) { echo $_SERVER['PHP_SELF']."?table="
<a href="<?php if
(@ $_GET['table']) { echo $_SERVER['PHP_SELF']."?table="
<a href="<?php if
(@ $_GET['table']) { echo $_SERVER['PHP_SELF']."?table="
<div class="entry">