Разработка Web-приложения "Зоопарк"

Основные инструменты построения Web-приложения. Язык сценариев PHP. Системный анализ предметной области базы данных. Коды SQL запросов на создание таблиц. Разработка Web-приложения. Описание функциональности модулей. Система управления содержимым статей.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.04.2014
Размер файла 4,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Оглавление

ВВЕДЕНИЕ

1. ОСНОВНЫЕ ИНСТРУМЕНТЫ ПОСТРОЕНИЯ WEB ПРИЛОЖЕНИЯ

1.1 ОСНОВНЫЕ ИНСТРУМЕНТЫ ПОСТРОЕНИЯ WEB ПРИЛОЖЕНИЯ

1.2 JAVASCRIPT

1.3 ЯЗЫК СЦЕНАРИЕВ PHP

1.4 СУБД MYSQL

2. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

2.1 СИСТЕМНЫЙ АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

2.2 ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

2.3 ФИЗИЧЕСКОЕ МОДЕЛИРОВАНИЕ.

2.4 КОДЫ SQL ЗАПРОСОВ НА СОЗДАНИЕ ТАБЛИЦ

3. РАЗРАБОТКА WEB-ПРИЛОЖЕНИЯ

3.1 ОБЩАЯ МОДУЛЬНАЯ СХЕМА

3.2 ОПИСАНИЕ ФУНКЦИОНАЛЬНОСТИ МОДУЛЕЙ

3.3 ОПИСАНИЕ МОДУЛЕЙ

4. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.

ЗАКЛЮЧЕНИЕ

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

ПРИЛОЖЕНИЕ А

ВВЕДЕНИЕ

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

Оптимальный язык программирования, который следует использовать для написания Интернет-приложений - это РНР, т.к. язык РНР очень практичен, а так же он способен предоставлять программисту средства для быстрого и эффективного решения поставленных перед ним задач.

PHP - скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.

MySQL - свободная реляционная система управления базами данных. Является серверной БД, и поддерживает многопользовательский многопоточный интерфейс, при этом в отличие от своих аналогов, является абсолютно бесплатной, что является экономической выгодой, как для разработчика, так и для заказчика. SQL - это специальный язык запросов к базам данных, его мы и будем использовать для запросов к базе данных, выборки, сортировки, удаления, вставки, создания и других операций.

Темой данной курсовой работы является «Разработка Web-приложения «Зоопарк» ».

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

Главная цель данной работы является разработка Web-приложения зоопарка.

Приложение должно быть удобным для пользователя, включать в себя следующие возможности:

· Просмотр данных

· Удаление данных из таблиц

· Добавление данных в таблицы

· Создание запросов к таблицам базы данных

Данная курсовая работа состоит из четырех частей.

· Теоретические сведения об инструментальных средствах Web-приложения

· Проектирования Web-приложения

· Разработка web-приложения «Зоопарк»

Курсовая работа состоит из 37 страниц, 18 рисунков, 6 таблиц, 4 источников информации и 1 приложения.

1. Основные инструменты построения Web-приложения

1.1 Основные инструменты построения Web-приложения

Web-приложение -- приложение, в котором клиентом выступает браузер, а сервером -- веб-сервер. Браузер может являться реализацией так называемых тонких клиентов. Браузер способен отображать web-страницы и, как правило, входит в состав операционной системы, а функции его обновления и сопровождения лежат на поставщике операционной системы. Логика приложения сосредотачивается на сервере, а функция браузера заключается в основном в отображении информации, загруженной по сети с сервера, и передаче обратно данных пользователя. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, и веб-приложения, таким образом, являются межплатформенными сервисами. По причине этой универсальности и относительной простоты разработки веб-приложения стали широко популярными в конце 1990-х -- начале 2000-х годов.

Существенным преимуществом построения Web приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться, независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows, Linux, Unix и других операционных систем, приложение создается один раз и разворачивается на любой платформе. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержки. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения.

Web-приложение получает запрос от клиента и выполняет вычисления, после этого формирует web-страницу и отправляет её клиенту по сети с использованием протокола HTTP. Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.[1]

1.2 JavaScript

приложение таблица запрос язык

Сегодня Всемирная сеть - это среда информационного обмена для миллионов людей. Они размещают текст, видео, звук, и информацию, и все более и более, они усложняют свои страницы, делая их интерактивными в сети. JavaScript - это новый язык программирования, используемый в составе страниц HTML для увеличения функциональности и возможностей взаимодействия с пользователями. Он был разработан фирмой Netscape в сотруднечестве с Sun Microsystems на базе языка Sun's Java. С помощью JavaScript на Web-странице можно сделать то, что невозможно сделать стандартными тегами HTML. Скрипты выполняются в результате наступления каких-либо событий, инициированных действиями пользователя. Создание Web-документов, включающих программы на JavaScript, требует наличее текстового редактора и подходящего браузера. Некоторые просмоторщики включают в себе встроенные редакторы, поэтому необходимость во внешнем редакторе отпадает.

Несмотря на отсутствие прямой связи с языком Java, JavaScript может обращаться к внешним свойствам и методам Java- апплетов, встроенных в страницу HTML. Разница сводится к тому, что апплеты существуют вне браузера, в то время как программы JavaScriptмогут работать только внутри браузера. На первой взгляд кажется, что найти информацию по JavaScript несложно. Сначала создается впечатление, что ее можно увидеть везде: на сервере Natscape, в виде электронных руководств и примеров, во многих других местах. Тем не менее разыскать информацию об объектах, операторах, цветах и всем прочем в одном источнике, чтобы она была всегда под рукой, трудно. [2]

1.3 Язык сценариев PHP

Название PHP -- рекурсивная аббревиатура, означающая «PHP: Hypertext Preprocessor» (ранее акроним расшифровывался как «Personal Home Page Tools»). Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц.

PHP исполняет код, находящийся внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений.

В области программирования для Сети PHP -- один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP отличается наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий может разработать своё собственное расширение и подключить его. Существуют сотни расширений, однако в стандартную поставку входит лишь несколько десятков хорошо зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу либо через модуль, созданный специально для этого сервера (например, для Apache или IIS), либо в качестве CGI-приложения.[3]

1.4 СУБД MySQL

MySQL - это система управления базами данных.

База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми - от простого списка предстоящих покупок до перечня экспонатов картинной галереи или огромного количества информации в корпоративной сети. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и является ПО MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному - как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.

MySQL - это система управления реляционными базами данных.

В реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных [4].

2. Разработка Базы Данных

2.1 Системный анализ предметной области

При разработке базы данных обычно выделяется несколько уровней моделирования, при помощи которых происходит переход от предметной области к конкретной реализации базы данных средствами конкретной СУБД. Можно выделить следующие уровни:

Предметная область

Модель предметной области

Логическая модель данных

Физическая модель данных

Собственно база данных и приложения

Исследуемый объект приставляет собой зоопарк.

В базе данных необходимо хранить информацию о животных, кормлении, стране, обслуживании, сотрудниках и должностях.

2.2 Инфологическое проектирование базы данных

Первой из выделенных сущностей выделим таблицу «Животные».

1. Таблица Животные (animals):

· Номер животного (id_animals);

· Номер кормления (id_korm);

· Номер страны (id_strana);

· Название (name);

· Возраст (age);

· Вес (ves).

Следующая выделяемая сущность это «Кормление».

2. Таблица Кормление (korm):

· Номер кормления (id_korm);

· Название (name_k).

3. Таблица Страна (strana) :

Номер страны (id_strana);

Название (name_s).

4. Таблица Обслуживание (service) :

Номер обслуживания (id_service);

Номер сотрудника (id_sotr);

Номер животного (id_animals).

5. Таблица Сотрудники (sort)

· Номер сотрудника (id_sotr);

· Номер должности (id_post);

· Фамилия (surname);

· Имя (name);

· Стаж (staj).

6. Таблица Должности (post)

· Номер должности (id_post);

· Название (name).

На схеме данных (Рисунок 1) показаны связи между полями.

Рисунок 1- Логическая модель базы данных

2.3 Физическое моделирование

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

Таблица 1-Объект животные

Имя поля

Тип данных

id_animals

int

id_korm

int

id_strana

int

name

varchar(20)

age

varchar(20)

ves

varchar(20)

Таблица 2-Объект кормление

Имя поля

Тип данных

id_korm

int

name_k

varchar(20)

Таблица 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 Общая модульная схема

Размещено на http://www.allbest.ru/

Рисунок 3-Общая модульная схема

3.2 Описание функциональности модулей

Имя модуля

Описание

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,$dbpass,$dbname) {

$db=mysql_pconnect("$dbhost","$dbuser","$dbpass");

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 основных вида центральной части:

1) На рисунке 6 показан вывод данных (больше 1 записи);

Рисунок 6-Просмотр всех записей таблицы Животные

2) На рисунке 7 показана форма для редактирования (изначально,

поля заполнены их текущими значениями);

Рисунок 7- Редактирование записи

Исправим ошибку допущенную, к примеру, во время заполнения стажа работы. (Рисунок 8)

Рисунок 8-Новые значение полей записи

На рисунке 9 показан результат выполненного запроса.

Рисунок 9- Результат выполнения запрос

3) Форма для добавления данных. (Рисунок 10)

Рисунок 10- Добавление записи

Проверим работу данной формы. Введем произвольные данные для записи (на данной же записи, в дальнейшем протестируем правильность удаления данных).(Рисунок 11)

Рисунок 11- Добавление новой записи в таблицу Память

На рисунке 12 показано, что данные были успешно добавлены.

Рисунок 12- Просмотр списка всех записей

4) На рисунке 13 показана форма для удаления данных.

Рисунок 13-Форма для удаление записей по id

Удалим, добавленную нами ранее запись «11». Для этого введем значение 11 в поле, и нажмем удалить.(Рисунок 14)

Рисунок 14. Результат удаления записи

Вновь, откроем таблицу Память, чтобы убедиться, что запись была удалена.(Рисунок 15)

Рисунок 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,$dbpass,$dbname) {

$db=mysql_pconnect("$dbhost","$dbuser","$dbpass");

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/DTD/xhtml1-strict.dtd">

<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:-3072px;top:0"><div class="width=100% height=100% align-left"></div><div class="align-left" width="1"></div</div>

<div id="wrapper">

<div id="header">

<div id="menu">

<ul>

<li class="current_page_item"></li>

<li><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[0]."&action=showall";?>">Животные</a></li>

<li><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[1]."&action=showall";?>">Страна</a></li>

<li><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[2]."&action=showall";?>">Кормление</a></li>

<li><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[3]."&action=showall";?>">Обслуживание</a></li>

<li><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[4]."&action=showall";?>">Сотрудники</a></li>

<li><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[5]."&action=showall";?>">Должности</a></li>

</ul>

</div>

</div>

<div id="logo">

<h1><a href="index.php">Зоопарк</a></h1><br><H2></H2>

</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=".@ $_GET['table']."&action=showall"; };?>">Просмотр</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<a href="<?php if (@ $_GET['table']) { echo $_SERVER['PHP_SELF']."?table=".@ $_GET['table']."&action=addform"; };?>">Добавление</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<a href="<?php if (@ $_GET['table']) { echo $_SERVER['PHP_SELF']."?table=".@ $_GET['table']."&action=deleteform"; };?>">Удаление</a></h1>

<div class="entry">

</div>

</div>

</div>

<div style="clear: both;">&nbsp;</div>

</div>

<div id="logo1">

<!--Main Content Editable Beyond This Point -->

<?php

if (@ $_GET['table']==$table_name[0]) {

$T=0;

require "universal_module.php";

} else if (@ $_GET['table']==$table_name[1]) {

$T=1;

require "universal_module.php";

} else if (@ $_GET['table']==$table_name[2]) {

$T=2;

require "universal_module.php";

} else if (@ $_GET['table']==$table_name[3]) {

$T=3;

require "universal_module.php";

} else if (@ $_GET['table']==$table_name[4]) {

$T=4;

require "universal_module.php";

}else if (@ $_GET['table']==$table_name[5]) {

$T=5;

require "universal_module.php";

}

?>

</div>

<br><br><br><br><br><br><br><br><br><br><br>

<br><br><br><br><br><br>

</body>

</html>

titles.php

<?php

$table_name = array ("ANIMALS","STRANA","KORM","SERVICE","SOTR","POST");

$table_title = array ("Животные","Страна","Кормление","Обслуживание","Сотрудники","Должность");

$table_cols_count = array (6,2,2,3,5,2);

$table0_columns = array ("ID_ANIMALS","ID_KORM","ID_STRANA","NAME","AGE","VES");

$table0_titles = array ("Номер животного","Номер кормления","Номер страны","Название","Возраст","Вес");

$table1_columns = array ("ID_STRANA","NAME_S");

$table1_titles = array ("Номер страны","Название");

$table2_columns = array ("ID_KORM","NAME_K");

$table2_titles = array ("Номер кормления","Название");

$table3_columns = array ("ID_SERVICE","ID_SOTR","ID_ANIMALS");

$table3_titles = array ("Номер обслуживания","Номет сотрудника","Номер животного");

$table4_columns = array ("ID_SOTR","ID_POST","SURNAME","NAME","STAJ");

$table4_titles = array ("Номер сотрудника","Номер должности","Фамилия","Имя","Стаж работы");

$table5_columns = array ("ID_POST","NAME");

$table5_titles = array ("Номер должности","Название");

$tables_columns = array ($table0_columns, $table1_columns, $table2_columns, $table3_columns, $table4_columns,$table5_columns);

$tables_titles = array ($table0_titles, $table1_titles, $table2_titles, $table3_titles, $table4_titles,$table5_titles);

?>

universal_module.php

<?phpif (@ $_GET['action']=='showall') { $connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname); echo '<table width="100%" border="2"> <tr height="32"><td colspan="'.($table_cols_count[$T]+3).'" align="center"><b>'.$table_title[$T].'</b></td></tr> <tr height="32"><td colspan="'.($table_cols_count[$T]+3).'" align="center"> <form action="index.php" method="GET"> Поиск по: <select name="filter_column"> <option disabled>Выберите поле</option> '; for($i=0;$i<$table_cols_count[$T];$i++) { if (@ $_GET['filter_column']==$tables_columns[$T][$i]) { $selected="selected "; } else { $selected=""; } echo '<option '.$selected.'value="'.$tables_columns[$T][$i].'">'.$tables_titles[$T][$i].'</option> '; } echo '</select> значение:<input width="10" name="filter_value" value="'.@ $_GET['filter_value'].'"> <input type="hidden" name="table" value="'.$table_name[$T].'"> <input type="hidden" name="action" value="showall"> <input type="hidden" name="orderby_column" value="'.(@ $_GET['orderby_column']!=""?@ $_GET['orderby_column']:$tables_columns[$T][0]).'"> <input type="hidden" name="orderby_value" value="'.(@ $_GET['orderby_value']!=""?@ $_GET['orderby_value']:"asc").'"> <input type="submit" value="Поиск"> <a href="index.php?table='.$table_name[$T].'&action=showall"><input type="button" value="Сброс"></a> </td></tr> <tr height="32">'; if ((@ $_GET['filter_column']!="") && (@ $_GET['filter_value']!="")) { $filter="WHERE ".@ $_GET['filter_column']." LIKE '%".@ $_GET['filter_value']."%'"; } else { $filter=""; } if ((@ $_GET['orderby_column']!="") && (@ $_GET['orderby_value']!="")) { $orderby=@ $_GET['orderby_column']." ".@ $_GET['orderby_value']; } else { $orderby=$tables_columns[$T][0]." asc"; } $query = 'SELECT * FROM '.$table_name[$T].' '.$filter.' ORDER BY '.$orderby.';'; $result = mysql_query($query); for($i=0;$i<$table_cols_count[$T];$i++) { if ((@ $_GET['filter_column']!="") && (@ $_GET['filter_value']!="")) { $f_state="&filter_column=".@ $_GET['filter_column']."&filter_value=".@ $_GET['filter_value'].""; } else { $f_state=""; } $img1='<a href="index.php?table='.$table_name[$T].'&action=showall&orderby_column='.$tables_columns[$T][$i].'&orderby_value=asc'.$f_state.'"><img src="images/arrowup.gif" border="0"></img></a>'; $img2='<a href="index.php?table='.$table_name[$T].'&action=showall&orderby_column='.$tables_columns[$T][$i].'&orderby_value=desc'.$f_state.'"><img src="images/arrowdown.gif" border="0"></img></a>'; if (@ $_GET['orderby_column']==$tables_titles[$T][$i]) { if (@ $_GET['orderby_column']=="asc") { $img1=""; } else { $img2=""; } } echo '<td align="center">'; echo $tables_titles[$T][$i]; echo $img1.$img2.'</td>'; } echo ' <td colspan=3>&nbsp;</td> </tr>'; while ($row = mysql_fetch_row($result)) { echo '<tr height="32">'; for ($i=0;$i<$table_cols_count[$T];$i++) { echo '<td align="left">'; echo $row[$i]; echo'</td> '; } echo '<td><a href="index.php?table='.$table_name[$T].'&action=showone&'.$tables_columns[$T][0].'='.$row[0].'"><img src="images/b_browse.png" alt="Просмотр" border="0"></img></a></td> <td><a href="index.php?table='.$table_name[$T].'&action=editform&'.$tables_columns[$T][0].'='.$row[0].'"><img src="images/b_edit.png" alt="Изменить" border="0"></img></a></td> <td><a href="index.php?table='.$table_name[$T].'&action=delete&'.$tables_columns[$T][0].'='.$row[0].'"><img src="images/b_drop.png" alt="Удалить" border="0"></img></a></td>'; echo '</tr>'; } echo '</table>'; mysql_free_result($result);}if (@ $_GET['action']=='showone') { $connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname); $internal_id = @ $_GET[$tables_columns[$T][0]]; $query = 'SELECT * FROM '.$table_name[$T].' WHERE '.$tables_columns[$T][0].'="'.$internal_id.'";'; $result = mysql_query($query); echo '<table width="70%" border="2" align="center"> '; while ($row = mysql_fetch_row($result)) { for ($i=0;$i<$table_cols_count[$T];$i++) { echo '<tr height="32"> <td align="left">'; echo $tables_titles[$T][$i]; echo'</td> <td align="left">'; echo $row[$i]; echo'</td> </tr> '; } } echo '</table> <p align="center"><a href="index.php?table='.$table_name[$T].'&action=editform&'.$tables_columns[$T][0].'='.$internal_id.'"><img src="images/b_edit.png" border="0"></img>Изменить</a></p> <p align="center"><a href="index.php?table='.$table_name[$T].'&action=delete&'.$tables_columns[$T][0].'='.$internal_id.'"><img src="images/b_drop.png" border="0"></img>Удалить</a></p>'; @ mysql_free_result($result);}if (@ $_GET['action']=='addform') { echo '<form action="index.php" method="GET"> <table width="70%" border="2" align="center"> '; echo ' <input type="hidden" name="table" value="'.$table_name[$T].'"> <input type="hidden" name="action" value="add"> '; for ($i=1;$i<$table_cols_count[$T];$i++) { echo '<tr height="32"> <td align="left">'; echo $tables_titles[$T][$i]; echo'</td> <td align="left"><input type="text" name="'.$tables_columns[$T][$i].'" value=""</td> </tr> '; } echo '<tr height="32"> <td align="center"><a href="index.php?table='.$table_name[$T].'&action=showall"><input type="button" value="Отменить"/></a></td> <td align="center"><input type="submit" value="Сохранить"/></td> </tr> </table>'; @mysql_free_result($result);}if (@ $_GET['action']=='add') { $connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname); $query_columns = $tables_columns[$T][1]; $query_values = '"'.@ $_GET[$tables_columns[$T][1]].'"'; for ($i=2;$i<$table_cols_count[$T];$i++) { $query_columns .= ','.$tables_columns[$T][$i]; $query_values .= ',"'.@ $_GET[$tables_columns[$T][$i]].'"'; } $query = 'INSERT INTO '.$table_name[$T].' ('.$query_columns.') VALUES ('.$query_values.');'; $result = mysql_query($query); if ($result) $result = "Запись успешно добавлена."; else $result = "Запись НЕ добавлена."; echo '<table width="100%" border="2"> <tr height="32"><td align="center"><b>'.$table_title[$T].'</b></td></tr> <tr height="32"><td align="center">'.$result.'</td></tr> </table>'; @ mysql_free_result($result);}if (@ $_GET['action']=='editform') { $connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname); $internal_id = @ $_GET[$tables_columns[$T][0]]; $query = 'SELECT * FROM '.$table_name[$T].' WHERE '.$tables_columns[$T][0].'="'.$internal_id.'";'; $result = mysql_query($query); echo '<form action="index.php" method="GET"> <table width="70%" border="2" align="center"> '; $row = mysql_fetch_row($result); echo '<tr height="32"> <td align="left">'; echo $tables_titles[$T][0]; echo'</td> <td align="left">'.$row[0].'<input type="hidden" name="'.$tables_columns[$T][0].'" value="'.$row[0].'"></td> <input type="hidden" name="table" value="'.$table_name[$T].'"> <input type="hidden" name="action" value="edit"> </tr> '; for ($i=1;$i<$table_cols_count[$T];$i++) { echo '<tr height="32"> <td align="left">'; echo $tables_titles[$T][$i]; echo'</td> <td align="left"><input type="text" name="'.$tables_columns[$T][$i].'" value="'.$row[$i].'"</td> </tr> '; } echo '<tr height="32"> <td align="center"><a href="index.php?table='.$table_name[$T].'&action=showall"><input type="button" value="Отменить"/></a></td> <td align="center"><input type="submit" value="Сохранить"/></td> </tr> </table>'; @ mysql_free_result($result);}if (@ $_GET['action']=='edit') { $connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname); $query = 'UPDATE '.$table_name[$T].' SET '; $query.= ' '.$tables_columns[$T][1].'="'.@ $_GET[$tables_columns[$T][1]].'" '; for ($i=2;$i<$table_cols_count[$T];$i++) { $query.=', '.$tables_columns[$T][$i].'="'.@ $_GET[$tables_columns[$T][$i]].'" '; } $query.='WHERE '.$tables_columns[$T][0].'='.@ $_GET[$tables_columns[$T][0]].';'; $result = mysql_query($query); if ($result) $result = "Запись успешно изменена."; else $result = "Запись НЕ изменена."; echo '<table width="100%" border="2"> <tr height="32"><td align="center"><b>'.$table_title[$T].'</b></td></tr> <tr height="32"><td align="center">'.$result.'</td></tr> </table>'; @ mysql_free_result($result);}if (@ $_GET['action']=='deleteform') { echo '<form action="index.php" method="GET"> <table width="70%" border="2" align="center"> <tr height="32"> <td align="left">'; echo $tables_titles[$T][0]; echo'</td> <td align="left"><input type="input" name="'.$tables_columns[$T][0].'" value=""></td> <input type="hidden" name="table" value="'.$table_name[$T].'"> <input type="hidden" name="action" value="delete"> </tr> <tr height="32"> <td align="center"><a href="index.php?table='.$table_name[$T].'&action=showall"><input type="button" value="Отменить"/></a></td> <td align="center"><input type="submit" value="Удалить"/></td> </tr> </table>'; @ mysql_free_result($result);}if (@ $_GET['action']=='delete') { $connect = dbconnect($dbhost,$dbuser,$dbpass,$dbname); $query = 'DELETE FROM '.$table_name[$T].' WHERE '.$tables_columns[$T][0].'='.@ $_GET[$tables_columns[$T][0]].';'; $result = mysql_query($query); if ($result) $result = "Запись успешно удалена."; else $result = "Запись НЕ удалена."; echo '<table width="100%" border="2"> <tr height="32"><td align="center"><b>'.$table_title[$T].'</b></td></tr> <tr height="32"><td align="center">'.$result.'</td></tr> </table>'; @ mysql_free_result($result);}?>

Курсовая работа выполнена мною самостоятельно. Все используемые источники имеют ссылки.

Пушкарева Яна Владимировна _______________ ________________

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.