Автор: Пользователь скрыл имя, 23 Апреля 2014 в 09:02, курсовая работа
Главная цель данной работы является разработка Web-приложения зоопарка.
Приложение должно быть удобным для пользователя, включать в себя следующие возможности:
Просмотр данных
Удаление данных из таблиц
Добавление данных в таблицы
Создание запросов к таблицам базы данных
Таблица 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- Физическая модель базы данных
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
)
CREATE TABLE strana
(
id_strana INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name_s VARCHAR(20) NOT NULL
)
CREATE TABLE korm
(
id_korm INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name_k VARCHAR(20) NOT NULL
)
CREATE TABLE service
(
id_ service INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
id_sotr INTEGER NOT NULL,
id_animals INTEGER NOT NULL
)
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
)
CREATE TABLE post
(
id_post INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL
)
Рисунок 3-Общая модульная схема
№ |
Имя модуля |
Описание |
1 |
index.php |
главная страница, содержит описание внешнего вида приложения, а так же вызовов других модулей. |
2 |
titles.php |
содержит список таблиц, их русское название, описание заголовков столбцов таблиц необходимые для работы «universal_module.php» |
3 |
universal_module.php |
основной модуль, содержащий базовый описание базовых функций, таких как выбор данных из таблиц, добавление, редактирование и удаление данных, их сортировка и фильтрация. |
4 |
config.php |
конфигурация доступа к базе данных. |
Созданное 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 записи, просмотр всех записей, фильтрация записей, сортировка записей, добавление, изменение и удаление записей.
В случае Web приложений, интерфейс представляет собой страницу, или группу страниц, при помощи которых можно производит различные действия.
На рисунке 5 рассмотрим общие элементы интерфейса на примере главной страницы.
Рисунок 5- Начальная страница
В левой части страницы, находится группа ссылок, используемых для навигации по сайту. Так же, там находится календарь (ниже надписи Главное меню) написанный на JavaScript, отображающий текущую дату.
Центральная часть страницы отведена для выведения основной информации или вывода форма для сбора данных, в зависимости от требуемой функции выбранного модуля.
Есть 3 основных вида центральной части:
Рисунок 6-Просмотр всех записей таблицы Животные
поля заполнены их текущими значениями);
Рисунок 7- Редактирование записи
Исправим ошибку допущенную, к примеру, во время заполнения стажа работы. (Рисунок 8)
Рисунок 8-Новые значение полей записи
На рисунке 9 показан результат выполненного запроса.
Рисунок 9- Результат выполнения запрос
Рисунок 10- Добавление записи
Проверим работу данной формы. Введем произвольные данные для записи (на данной же записи, в дальнейшем протестируем правильность удаления данных).(Рисунок 11)
Рисунок 11- Добавление новой записи в таблицу Память
На рисунке 12 показано, что данные были успешно добавлены.
Рисунок 12- Просмотр списка всех записей
Рисунок 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">