Разработка информационной системы для автоматизации, повышения эффективности работы бетонно-растворного узла

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,92 Мб
  • Опубликовано:
    2015-05-30
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка информационной системы для автоматизации, повышения эффективности работы бетонно-растворного узла

Содержание

Введение

1. Разработка технического задания к программе

1.1 Анализ предметной области

1.2 Требования к программе

1.2.1 Требования к функциональным характеристикам и надежности

1.2.2 Условия эксплуатации

1.2.3 Требования к составу и параметрам технических средств

1.2.4 Требования к информационной и программной совместимости

1.3 Требования к маркировке и упаковке

1.4 Требования к транспортированию и хранению

1.5 Требования к программной документации

1.6 Технико-экономические показатели

1.7 Стадии и этапы разработки

1.8 Порядок контроля и приемки

2. Разработка функциональных моделей автоматизированной системы «Деятельности бетонно-растворного узла»

3.Разработка информационной модели автоматизированной системы «Деятельности БРУ»

4.Разработка пользовательского приложения

5.Разработка пользовательского интерфейса

5.1 Интерфейс клиентского Web-приложения

5.2 Руководство пользователя

Заключение

Список использованных источников

Приложение 1. Листинг БД

Приложение 2. Листинг клиентского Web-приложения

Введение

информационная автоматизация приложение

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

Бетонно-растворный узел предназначен для приготовления высококачественных бетонных и pаствоpных смесей на производственных базах строительных подразделений или на крупных строительных объектах пpи отсутствии централизованного обеспечения товарным бетоном и pаствоpом.

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

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

Программа должна обеспечивать:

работу с входными данными (информация на получение заказа, информация о поставщиках, информация об услугах);

получение выходных данных (информация о выполненном заказе);

формирование отчетов (получение данных в электронном виде или на бумажных носителях).

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

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

провести анализ предметной области;

разработать функциональные модели АС деятельности БРУ;

разработать информационную модель АС деятельности БРУ;

разработать программное обеспечение для АИС бетонно-растворного узла;

Курсовой проект состоит из 52 листа и 30 рисунков.

1. Разработка технического задания к программе

.1 Анализ предметной области

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

Высококачественный бетон - это многокомпонентный материал, в состав которого входят различные вяжущие вещества, химические модификаторы свойств и структуры, а также активные минеральные добавки. Многокомпонентность является положительным качеством, позволяющим регулировать структурообразование на всех технологических этапах при автоматизации производства бетонов. Современные и надежные автоматизированные системы управления (АСУ ТП) производства бетона обеспечивают возможности многопараметрического задания состава бетона, жесткого контроля качества и корректировки консистенции бетонной смеси в случае изменения характеристик исходных компонентов (гранулометрического состава и активности цемента, влажности заполнителей и непосредственно бетонной смеси) в реальном масштабе времени.

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

1.2 Требования к программе

Как и любое программное изделие, автоматизированная система деятельности бетонно-растворного узла должна выполнять определенные требования.

1.2.1 Требования к функциональным характеристикам и надежности

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

Ввод, вывод, редактирование, хранение, экспорт в другие форматы информации о товароведах:

Код товароведа;

Фамилия;

Имя;

Отчество;

Стаж работы.

Ввод, вывод, редактирование, хранение, экспорт в другие форматы информации о поставщиках:

Код поставщика;

Название фирмы;

Представитель.

Ввод, вывод, редактирование, хранение, экспорт в другие форматы информации о клиентах:

Код клиента;

Фамилия;

Имя;

Телефон.

Входной информацией системы является:

Информация об оплате услуги;

Договор на получение заказа;

Материалы;

Информация о поставщиках.

Выходной информацией системы является:

Готовый заказ;

Документы о выполненном заказе;

Заказ поставщику на поставку товаров.

1.2.2 Условия эксплуатации

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

1.2.3 Требования к составу и параметрам технических средств

Для работы программы должен быть выделен ответственный оператор.

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

мощный процессор;

оперативную память объемом не менее 2 Гб;

не менее 10Гб свободного пространства на жестком диске;

операционную систему Windows;

Видеокарта от 512Мb;

Клавиатура и мышь.

1.2.4 Требования к информационной и программной совместимости

Система должна работать под управлением ОС семейства Windows. Для работы приложения клиенту необходимы: IBExpert под управлением. Firebird .

1.3 Требования к маркировке и упаковке

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

1.4 Требования к транспортированию и хранению

Требования к транспортированию и хранению программного продукта совпадают с аналогичными требованиями, предъявляемыми к компакт-дискам.

1.5 Требования к программной документации

Программная документация должна содержать следующие документы:

.Программные документы:

Спецификация (ГОСТ 19.202-78);

Текст программы (ГОСТ 19.401-78);

Описание программы (ГОСТ 19.402-78);

Пояснительная записка (ГОСТ 19.404-79);

.Эксплуатационные документы:

Ведомость эксплуатационных документов (ГОСТ 19.507-79);

Описание применения (ГОСТ 19.502-78);

Руководство программиста (ГОСТ 19.504-79);

Требования к перечисленным документам не отличаются от требований, определенных в ЕСПД.

1.6 Технико-экономические показатели

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

1.7 Стадии и этапы разработки

Общая продолжительность разработки и внедрения системы составляет 6 месяцев. График реализации проекта представлен в таблице 1.

Таблица 1 - График реализации проекта


Сентябрь

Октябрь

Ноябрь

Декабрь

1.Проектирование





 1.1 Разработка технического задания





1.2 Функциональное моделирование IDEF0, IDEF3





1.3 Моделирование потоков данных





1.4Информационное моделирование





1.5 Разработка объектной модели





1.6 Проектирование базы данных





1.7 Разработать бизнес-логику





2. Разработать программное обеспечение





2.1 Эскизный проект





2.2 Технический проект





2.3 Рабочий проект





2.4 Внедрение





1.8 Порядок контроля и приемки

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

2. Разработка функциональных моделей автоматизированной системы «Деятельности бетонно-растворного узла»

В данной курсовой работе на основе нотации IDEF0 была разработана контекстная диаграмма, которая показывает входные и выходные ресурсы, правила управления и механизм управления (Рисунок 1).

Рисунок 1. Контекстная диаграмма системы (IDEF0)

Декомпозируем контекстную диаграмму на 5 функциональных блока

(Рисунок 2):

Выбор поставщика;

Оформление договора;

Исполнение заказа;

Оплата;

Доставка заказа.

Рисунок 2. Диаграмма декомпозиции контекстной диаграммы (IDEF0)

Декомпозируем функциональный блок «Выбор поставщика» еще на 4 действия (Рисунок 3):

Выбор поставщика товаров;

Оценка готовности поставщика к закупке;

Проведение закупки у поставщиков;

Приёмка товаров от поставщиков.

Рисунок 3 - Декомпозиция функционального блока «Выбор поставщика» (IDEF0)

 Декомпозируем функциональный блок «Оформление договора» еще на 3 действия (Рисунок 4):

Формирование требований;

Срок действия договора;

Заключение договора.

Рисунок 4 - Декомпозиция функционального блока «Оформление договора» (IDEF0)

Декомпозируем функциональный блок «Исполнение заказа» еще на 4 действия (Рисунок 5):

Подготовка оборудования;

Подготовка материалов;

Замес раствора;

Тестирование.

Рисунок 5 - Декомпозиция функционального блока «Исполнение заказа» (IDEF0)

 Декомпозируем функциональный блок «Оплата» еще на 3 действия (Рисунок 6):

Произвести финансовые расчёты;

Выдать накладную;

Выдать чек.

Рисунок 6 - Декомпозиция функционального блока «Оплата» (IDEF0)

Декомпозируем функциональный блок «Доставка заказа» еще на 3 действия (Рисунок 7):

Подготовка транспорта;

Перевозка заказа;

Отгрузка готового заказа.

Рисунок 7 - Декомпозиция функционального блока «Доставка заказа» (IDEF0)

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

Декомпозируем функциональный блок «Формирование требований» на 5 действий (Рисунок 8):

Предмет договора;

Условия и сроки поставки;

Цена товара и порядок оплаты;

Порядок приёмки товаров;

Ответственности сторон.

Рисунок 8 - Декомпозиция функционального блока «Формирование требований» (DFD)

Декомпозируем функциональный блок «Тестирование» на 4 действия (Рисунок 9):

Проверить объём полученного раствора;

Проверить прочность;

Определение морозостойкости раствора;

Определение водонепроницаемости раствора.

Рисунок 9 - Декомпозиция функционального блока «Тестирование (DFD)

Декомпозируем функциональный блок «Формирование требований» на действия (Рисунок 10):

Отправка с места погрузки;

Соблюдение заданного маршрута;

Необходимая заправка;

Прибытие к месту отгрузки.

Рисунок 10 - Декомпозиция функционального блока «Перевозка заказа» (DFD)

Стандарт IDEF3 предназначен для документирования технологических процессов, происходящих на предприятии, и предоставляет инструментарий для наглядного исследования и моделирования их сценариев.

Декомпозируем функциональный блок «Подготовка материалов» на 5 действий (Рисунок 11):

Определить объём замеса;

Подготовка воды для замешивания;

Подготовка щебня;

Подготовка сухой смеси;

Выдержка технологической паузы.

Рисунок 11 - Декомпозиция блока «Подготовка материалов» (IDEF3)

Далее декомпозируем функциональный блок «Выдача заказа» на 6 действий (Рисунок 12):

Определение пропорций;

Добавление воды;

Добавление песка;

Добавление цемента;

Добавление щебня;

Перемешивание.

Рисунок 12 - Декомпозиция блока «Замес раствора» (IDEF3)

Далее декомпозируем функциональный блок «Подготовка транспорта» на 4 действия (Рисунок 13):

Задание маршрута;

Подготовка водителя;

Выбор транспорта;

Загрузка товара.

Рисунок 13 - Декомпозиция блока «Подготовка транспорта» (IDEF3)

3.Разработка информационной модели автоматизированной системы «Деятельности БРУ»

Цель моделирования данных (информационного моделирования) состоит в обеспечении разработчика ИС концептуальной схемой БД в форме одной модели или нескольких локальных моделей.

Наиболее распространенным средством моделирования данных являются диаграммы ERD (диаграммы «сущность-связь»).

Диаграмма уровня сущностей и атрибутов, в нотации IDEF1X логического уровня модели ERwin: (Рисунок 14)

Рисунок 14- ERD-диаграмма в нотации IDEF1X логический уровень.

В ERwin существуют два уровня представления и моделирования - логический и физический. Логический уровень означает прямое отображение фактов из реальной жизни. Например, люди, столы, отделы, компьютеры являются реальными объектами. Они именуются на естественном языке, с любыми разделителями слов (пробелы, запятые и т.д.). На логическом уровне не рассматривается использование конкретной СУБД, не определяются типы данных (например, целое или вещественное число) и не определяются индексы для таблиц.диаграмма физического уровня модели ERwin: (Рисунок 15)

Рисунок 15 - ERD- диаграмма в нотации IDEF1X физический уровень

Физический уровень модели ERWin составляют целевая СУБД, имена объектов, типы данных и индексы.

4. Разработка пользовательского приложения

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

В итоге было создано мобильное приложение, которое имеет следующий вид (Рисунок 16):

Рисунок 16 - Интерфейс приложения

Вкладка «Информация» содержит в себе следующее: (Рисунок 17)

Рисунок 17 - Вкладка «Информация»

Вкладка «Предоставляемые услуги» содержит в себе следующее: (Рисунок 18)

Рисунок 18 - Вкладка «Предоставляемые услуги»

Вкладка «Прайс-лист» содержит в себе следующее: (Рисунок 19)

Рисунок 19 - Вкладка «Прайс-лист»

5.Разработка пользовательского интерфейса

Программа «Автоматизированная система деятельности БРУ» позволяет пользователю вводить и просматривать, хранить информацию в базе данных, изменять и удалять ее, осуществлять сортировку, фильтрацию и поиск информации по всей базе.

.1 Интерфейс клиентского Web-приложения

приложение в технологии «Клиент-Сервер» представляет собой некий интерфейс между пользователем и базой данных, расположенной на сервере и состоящей под управлением какой-либо СУБД. Такие приложения отличаются от приложений Windows тем, что пользователю не требуется наличие никаких установленных дополнительно на компьютере программ, кроме Web-браузера. Все действия, которые требует выполнить такое приложение, выполняются непосредственно на сервере. Кроме того, Web-приложение интерпретируются сервером в момент обращения пользователя к данному приложению.

В результате приложение будет иметь следующий вид: (Рисунок 20).

Рисунок 20 - Стартовая страница сайта

Это главная страница приложения, из данной страницы осуществляется переход на остальные страницы приложения для последующей работы с ними:

добавления,

модификации,

удаления

сортировки,

поиска и фильтрации

Поиск и фильтрация информации (Рисунок 21).

Рисунок 21 - Поиск и фильтрация информации

Сортировка данных производится как по-возрастанию, так и по-убыванию. Сортировка производится по выбранному полю (Рисунок 22).

Рисунок 22 - Сортировка по возрастанию по полю «Фамилия»

Теперь осуществим добавление данных в таблицу(Рисунок 23).

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

Выводится сообщение о результате добавления записи (Рисунок 24).

Рисунок 24 - Сообщение о добавлении записи

Проверим результат добавления (Рисунок 25).

Рисунок 25 - Результат добавления

Изменим ранее добавленную запись (Рисунок 26)

Рисунок 26 - Вводим новые данные

Проверим правильность работы изменения данных (Рисунок 27).

Рисунок 27 - Результат изменения записи

Удаление данных. (Рисунок 28)

Рисунок 28 - Удаление данных

Проверим удалились ли данные из таблицы (Рисунок 29).

Рисунок 29 - Результат удаления

.1 Руководство пользователя

Для того, чтобы открыть программу «АС деятельности БРУ» нужно выбрать и открыть файл index.php (Рисунок 30).

Рисунок 30 - Открытие программы

После открытия программы появится пользовательский интерфейс. На каждой из вкладок можно осуществлять добавление, изменение и удаление записей из всех 6 таблиц базы данных. Для этого нужно ввести данные в отведенные для операций добавления, изменения и удаления и нажать соответствующую кнопку, таблица автоматически обновится. Нажав «Очистить» очистятся все текстовые поля, в которые были введены данные. Так же на каждой для каждой таблицы имеется возможность фильтрации поиска и сортировки данных. Для работы фильтра и поиска необходимо ввести параметр в отведенное для этого поле и нажать кнопку «Поиск».

Заключение

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

Крупные компании стремятся моментально реализовать технические новшества в аппаратных средствах, однако для успешной реализации крупных систем управления требуется применить нестандартный подход, творческое решение. Использование основ эргономики при проектировании, реализации и внедрении системы управления позволит решить многие «психологические» и «технологические» проблемы предприятий.

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

Список использованных источников

Архангельский, А.Я. Программирование в C++ Builder 6 - М.:БИНОМ, 2003 - 1184c.

Хомоненко, А. Д. Базы данных: учебник для высших учебных заведений, 4-е издание дополненное и переработанное. - СПб.: Корона, 2004 - 736 с.

Маклаков С.В. Моделирование бизнес-процессов с BРwin 4.1. - М.: Диалог-МИФИ, 2004 - 209 с.

Бори, Х. FIREBIRD. Руководство разработчика баз данных. - СПб.: БХВ, 2006 - 1104c.

Калянов Г.Н. CASE-технологии. Консалтинг при автоматизации бизнес-процессов / Калянов Г.Н.. - 2-е изд., перераб. и доп.. - М.: Горячая линия-Телеком, 2000 - 318 с

Приложение 1. Листинг БД

/******************************************************************************/

/*** Domains ***/

/******************************************************************************/DOMAIN D_D AS;DOMAIN D_I ASNULL;DOMAIN D_V AS(50);

/******************************************************************************/

/*** Generators ***/

/******************************************************************************/GENERATOR GEN_DOLJN;GENERATOR GEN_DOLJN TO 3;GENERATOR GEN_KLIENT;GENERATOR GEN_KLIENT TO 12;GENERATOR GEN_MATERIAL;GENERATOR GEN_MATERIAL TO 5;GENERATOR GEN_POST;GENERATOR GEN_POST TO 5;GENERATOR GEN_SDELKI;GENERATOR GEN_SDELKI TO 9;GENERATOR GEN_SOTR;GENERATOR GEN_SOTR TO 9;GENERATOR GEN_TOVAR;GENERATOR GEN_TOVAR TO 3;GENERATOR GEN_TOVAR_MATERIAL;GENERATOR GEN_TOVAR_MATERIAL TO 10;GENERATOR GEN_TRANSPORT;GENERATOR GEN_TRANSPORT TO 5;GENERATOR GEN_USLUGI;GENERATOR GEN_USLUGI TO 5;GENERATOR GEN_ZAKAZ;GENERATOR GEN_ZAKAZ TO 9;GENERATOR GEN_ZAKAZ_USLUGI;GENERATOR GEN_ZAKAZ_USLUGI TO 6;

/******************************************************************************/

/*** Tables ***/

/******************************************************************************/TABLE DOLJN (

ID_DOLJN D_I NOT NULL,

NAME_D D_V

);TABLE KLIENT (

ID_KLIENT D_I NOT NULL,

SURNAME D_V,

NAME D_V,

PHONE D_V

);TABLE MATERIAL (

ID_MATERIAL D_I NOT NULL,

ID_POST D_I,

NAME_M D_V

);TABLE POST (

ID_POST D_I NOT NULL,

NAME_F D_V,

PREDST D_V

);TABLE SDELKI (

ID_SDELKI D_I NOT NULL,

ID_ZAKAZ D_I,

ID_KLIENT D_I

);TABLE SOTR (

ID_SOTR D_I NOT NULL,

ID_DOLJN D_I,

SURNAME_S D_V,

NAME_S D_V

);TABLE TOVAR (

ID_TOVAR D_I NOT NULL,

NAME_T D_V

);TABLE TOVAR_MATERIAL (

ID_TOVAR_MATERIAL D_I NOT NULL,

ID_TOVAR D_I,

ID_MATERIAL D_I

);TABLE TRANSPORT (

ID_TRANSPORT D_I NOT NULL,

MODEL D_V,

OPISANIE D_V

);TABLE USLUGI (

ID_USLUGI D_I NOT NULL,

NAME_U D_V,

PRICE D_V

);TABLE ZAKAZ (

ID_TRANSPORT D_I,

ID_SOTR D_I,

DATA D_D,

SUMMA D_V

);TABLE ZAKAZ_USLUGI (

ID_ZAKAZ_USLUGI D_I NOT NULL,

ID_TOVAR D_I,

ID_USLUGI D_I,

ID_ZAKAZ D_I

);

/******************************************************************************/

/*** Primary Keys ***/

/******************************************************************************/TABLE DOLJN ADD CONSTRAINT PK_DOLJN PRIMARY KEY (ID_DOLJN);TABLE KLIENT ADD CONSTRAINT PK_KLIENT PRIMARY KEY (ID_KLIENT);TABLE MATERIAL ADD CONSTRAINT PK_MATERIAL PRIMARY KEY (ID_MATERIAL);TABLE POST ADD CONSTRAINT PK_POST PRIMARY KEY (ID_POST);TABLE SDELKI ADD CONSTRAINT PK_SDELKI PRIMARY KEY (ID_SDELKI);TABLE SOTR ADD CONSTRAINT PK_SOTR PRIMARY KEY (ID_SOTR);TABLE TOVAR ADD CONSTRAINT PK_TOVAR PRIMARY KEY (ID_TOVAR);TABLE TOVAR_MATERIAL ADD CONSTRAINT PK_TOVAR_MATERIAL PRIMARY KEY (ID_TOVAR_MATERIAL);TABLE TRANSPORT ADD CONSTRAINT PK_TRANSPORT PRIMARY KEY (ID_TRANSPORT);TABLE USLUGI ADD CONSTRAINT PK_USLUGI PRIMARY KEY (ID_USLUGI);TABLE ZAKAZ ADD CONSTRAINT PK_ZAKAZ PRIMARY KEY (ID_ZAKAZ);TABLE ZAKAZ_USLUGI ADD CONSTRAINT PK_ZAKAZ_USLUGI PRIMARY KEY (ID_ZAKAZ_USLUGI);

/******************************************************************************/

/*** Foreign Keys ***/

/******************************************************************************/TABLE MATERIAL ADD CONSTRAINT FK_MATERIAL FOREIGN KEY (ID_POST) REFERENCES POST (ID_POST) ON DELETE CASCADE ON UPDATE CASCADE;TABLE SDELKI ADD CONSTRAINT FK_SDELKI FOREIGN KEY (ID_ZAKAZ) REFERENCES ZAKAZ (ID_ZAKAZ) ON DELETE CASCADE ON UPDATE CASCADE;TABLE SDELKI ADD CONSTRAINT FK_SDELKI1 FOREIGN KEY (ID_KLIENT) REFERENCES KLIENT (ID_KLIENT) ON DELETE CASCADE ON UPDATE CASCADE;TABLE SOTR ADD CONSTRAINT FK_SOTR FOREIGN KEY (ID_DOLJN) REFERENCES DOLJN (ID_DOLJN) ON DELETE CASCADE ON UPDATE CASCADE;TABLE TOVAR_MATERIAL ADD CONSTRAINT FK_TOVAR_MATERIAL FOREIGN KEY (ID_TOVAR) REFERENCES TOVAR (ID_TOVAR) ON DELETE CASCADE ON UPDATE CASCADE;TABLE TOVAR_MATERIAL ADD CONSTRAINT FK_TOVAR_MATERIAL1 FOREIGN KEY (ID_MATERIAL) REFERENCES MATERIAL (ID_MATERIAL) ON DELETE CASCADE ON UPDATE CASCADE;TABLE ZAKAZ ADD CONSTRAINT FK_ZAKAZ FOREIGN KEY (ID_TRANSPORT) REFERENCES TRANSPORT (ID_TRANSPORT) ON DELETE CASCADE ON UPDATE CASCADE;TABLE ZAKAZ ADD CONSTRAINT FK_ZAKAZ1 FOREIGN KEY (ID_SOTR) REFERENCES SOTR (ID_SOTR) ON DELETE CASCADE ON UPDATE CASCADE;TABLE ZAKAZ_USLUGI ADD CONSTRAINT FK_ZAKAZ_USLUGI FOREIGN KEY (ID_TOVAR) REFERENCES TOVAR (ID_TOVAR) ON DELETE CASCADE ON UPDATE CASCADE;TABLE ZAKAZ_USLUGI ADD CONSTRAINT FK_ZAKAZ_USLUGI1 FOREIGN KEY (ID_USLUGI) REFERENCES USLUGI (ID_USLUGI) ON DELETE CASCADE ON UPDATE CASCADE;TABLE ZAKAZ_USLUGI ADD CONSTRAINT FK_ZAKAZ_USLUGI2 FOREIGN KEY (ID_ZAKAZ) REFERENCES ZAKAZ (ID_ZAKAZ) ON DELETE CASCADE ON UPDATE CASCADE;

/******************************************************************************/

/*** Triggers ***/

/******************************************************************************/TERM ^ ;

/* Trigger: DOLJN_BI0 */TRIGGER DOLJN_BI0 FOR DOLJNBEFORE INSERT POSITION 0

IF (NEW.id_doljn IS NULL) THEN.id_doljn = GEN_ID(gen_doljn, 1) ;

^

/* Trigger: KLIENT_BI0 */TRIGGER KLIENT_BI0 FOR KLIENTBEFORE INSERT POSITION 0

IF (NEW.id_klient IS NULL) THEN.id_klient = GEN_ID(gen_klient, 1) ;

^

/* Trigger: MATERIAL_BI0 */TRIGGER MATERIAL_BI0 FOR MATERIALBEFORE INSERT POSITION 0

IF (NEW.id_material IS NULL) THEN.id_material= GEN_ID(gen_material, 1) ;

^

/* Trigger: POST_BI0 */TRIGGER POST_BI0 FOR POSTBEFORE INSERT POSITION 0

IF (NEW.id_post IS NULL) THEN.id_post = GEN_ID(gen_post, 1) ;

^

/* Trigger: SDELKI_BI0 */TRIGGER SDELKI_BI0 FOR SDELKIBEFORE INSERT POSITION 0

IF (NEW.id_sdelki IS NULL) THEN.id_sdelki = GEN_ID(gen_sdelki, 1) ;

^

/* Trigger: SOTR_BI0 */TRIGGER SOTR_BI0 FOR SOTRBEFORE INSERT POSITION 0

IF (NEW.id_sotr IS NULL) THEN.id_sotr = GEN_ID(gen_sotr, 1) ;

^

/* Trigger: TOVAR_BI0 */TRIGGER TOVAR_BI0 FOR TOVARBEFORE INSERT POSITION 0

IF (NEW.id_tovar IS NULL) THEN.id_tovar = GEN_ID(gen_tovar, 1) ;

^

/* Trigger: TOVAR_MATERIAL_BI0 */TRIGGER TOVAR_MATERIAL_BI0 FOR TOVAR_MATERIALBEFORE INSERT POSITION 0

IF (NEW.id_tovar_material IS NULL) THEN.id_tovar_material = GEN_ID(gen_tovar_material, 1) ;

^

/* Trigger: TRANSPORT_BI0 */TRIGGER TRANSPORT_BI0 FOR TRANSPORTBEFORE INSERT POSITION 0

IF (NEW.id_transport IS NULL) THEN.id_transport = GEN_ID(gen_transport, 1) ;

^

/* Trigger: USLUGI_BI0 */TRIGGER USLUGI_BI0 FOR USLUGIBEFORE INSERT POSITION 0

IF (NEW.id_uslugi IS NULL) THEN.id_uslugi = GEN_ID(gen_uslugi, 1) ;

^

/* Trigger: ZAKAZ_BI0 */TRIGGER ZAKAZ_BI0 FOR ZAKAZBEFORE INSERT POSITION 0

IF (NEW.id_zakaz IS NULL) THEN.id_zakaz = GEN_ID(gen_zakaz, 1) ;

^

/* Trigger: ZAKAZ_USLUGI_BI0 */TRIGGER ZAKAZ_USLUGI_BI0 FOR ZAKAZ_USLUGIBEFORE INSERT POSITION 0

IF (NEW.id_zakaz_uslugi IS NULL) THEN.id_zakaz_uslugi = GEN_ID(gen_zakaz_uslugi, 1) ;

end

^TERM ; ^

Приложение 2. Листинг клиентского Web-приложения

Index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">

<HTML>

<HEAD>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=UTF8">

<TITLE>Сайт бетонно-растворного узла</TITLE>

<link rel="stylesheet" type="text/css" href="images/style.css">

<br />

</HEAD>

<BODY BACKGROUND="images/tile.gif" BGCOLOR="#FFFFFF">

<div style="position: absolute; top: 10; left: 10; z-index:10">

<font color="green"><h4 align="left">Вы вошли на сайт:

<script type="text/JavaScript">=new Array("Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря");

dayName=new Array("Воскресенье","Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота");

now=new Date;.write(now.getDate()+' '+monName[now.getMonth()]+', '+now.getHours()+':'+now.getMinutes()+':'+now.getSeconds()+', '+dayName[now.getDay()]);

</script>

</h4></font>

</div>

<?php"titles.php";

?>

<BR>

<SPACER TYPE="HORIZONTAL" SIZE="52"> <FONT SIZE="6"><a href="<?php echo $_SERVER['PHP_SELF'];?>"><IMG SRC="images/smallglobe.jpg" WIDTH="39" HEIGHT="39" ALIGN="BOTTOM" BORDER="0"></a>&nbsp;Сайт Бетонно-Растворного узла</FONT><BR>

<IMG SRC="images/largebanner.gif" WIDTH="100%" HEIGHT="7" ALIGN="BOTTOM" BORDER="0"><BR>

<BR>

<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="550">

<TR>

<TD WIDTH="150"></TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[0]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[0];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[1]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[1];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[2]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[2];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[3]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[3];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[4]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[4];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[5]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[5];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[6]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[6];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[7]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[7];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[8]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[8];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[9]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[9];?></B>

</TD>

<TD VALIGN="TOP" WIDTH="100">

<P><a href="<?php echo $_SERVER['PHP_SELF']."?table=".$table_name[10]."&action=showall";?>"><IMG SRC="images/bigglobe.jpg" WIDTH="54" HEIGHT="54" ALIGN="BOTTOM" BORDER="0"></a><BR>

<B><?php echo $table_title[10];?></B>

</TD>

</TR>

</TABLE>

<TD WIDTH="18%"><IMG SRC="images/hline.gif" WIDTH="100%" HEIGHT="4" ALIGN="BOTTOM" BORDER="0">

<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0" WIDTH="100%" HEIGHT="30%">

<TR>

<TD WIDTH="15%" HEIGHT="236" VALIGN="TOP">

<P><FONT COLOR="#000000">

<B>Просмотр</B><BR>

<a href="<?php if (@ $_GET['table']) { echo $_SERVER['PHP_SELF']."?table=".@ $_GET['table']."&action=showall"; };?>"><IMG SRC="images/smallglobe.jpg" WIDTH="39" HEIGHT="39" ALIGN="BOTTOM" BORDER="0"></a><BR>

<BR>

<BR>

<B>Добавление</B><BR>

<a href="<?php if (@ $_GET['table']) { echo $_SERVER['PHP_SELF']."?table=".@ $_GET['table']."&action=addform"; };?>"><IMG SRC="images/smallglobe.jpg" WIDTH="39" HEIGHT="39" ALIGN="BOTTOM" BORDER="0"></a><BR>

<BR>

<BR>

<B>Удаление<BR>

<a href="<?php if (@ $_GET['table']) { echo $_SERVER['PHP_SELF']."?table=".@ $_GET['table']."&action=deleteform"; };?>"><IMG SRC="images/smallglobe.jpg" WIDTH="39" HEIGHT="39" ALIGN="BOTTOM" BORDER="0"></a></B>

</FONT></P>

</TD>

<TD WIDTH="5%" HEIGHT="236">&nbsp;</TD>

<TD WIDTH="80%" HEIGHT="236" VALIGN="TOP">

<?php"function.php";

?>

</TR>

</TABLE>

<BR>

<BR>

<SPACER TYPE="HORIZONTAL" SIZE="154"><IMG SRC="images/smallbanner.gif" WIDTH="100%" HEIGHT="4" ALIGN="TOP" BORDER="0"><FONT SIZE="6"><BR></FONT>

<h3>Создатель сайта: Лукин Александр </h3>

</BODY>

</HTML>.php

<?php

$dbhost = "D:/1410051.FDB";

$dbuser = "SYSDBA";

$dbpass = "masterkey";dbconnect($dbhost,$dbuser,$dbpass) {

$db=ibase_connect("$dbhost","$dbuser","$dbpass","utf-8");

if (! $db) {"Не возможно соедениться с БД";

exit;

}$db;

};

?>.php

<?php

$table_name = array ("klient","sdelki","sotr","doljn","zakaz","transport","zakaz_uslugi","uslugi","tovar","tovar_material","material","post");

$table_title = array ("Клиенты","Сделки","Сотрудники","Должности","Заказ","Транспорт","Заказ-услуги","Услуги","Товар-материал","Материалы","Поставщики");

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

$table0_columns = array ("id_klient","surname","name","phone");

$table0_titles = array ("Артикул клиента","Фамилия","Имя","Телефон");

$table1_columns = array ("id_sdelki","id_zakaz","id_klient");

$table1_titles = array ("Артикул сделки","Артикул заказа","Артикул клиента");

$table2_columns = array ("id_sotr","id_doljn","surname_s","name_s",);

$table2_titles = array ("Артикул сотрудника","Артикул должности","Фамилия","Имя");

$table3_columns = array ("id_doljn","name_d");

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

$table4_columns = array ("id_zakaz","id_transport","id_sotr","data","summa");

$table4_titles = array ("Артикул заказа","Артикул транспорта","Артикул сотрудника","Дата","Общая сумма");

$table5_columns = array ("id_transport","model","opisanie");

$table5_titles = array ("Артикул транспорта","Модель","Описание");

$table6_columns = array ("id_zakaz_uslugi","id_tovar","id_uslugi","id_zakaz");

$table6_titles = array ("Артикул заказа-услуги","Артикул товара","Артикул услуги","Артикул заказа");

$table7_columns = array ("id_uslugi","name_u","price");

$table7_titles = array ("Артикул услуги","Название","Стоимость");

$table8_columns = array ("id_tovar","name_t");

$table8_titles = array ("Артикул товара","Название");

$table9_columns = array ("id_tovar_material","id_tovar","id_material");

$table9_titles = array ("Артикул товара-материала","Артикул товара","Артикул материала");

$table10_columns = array ("id_material","id_post","name_m");

$table10_titles = array ("Артикул материала","Артикул поставщика","Название");

$table11_columns = array ("id_post","name_f","predst");

$table11_titles = array ("Артикул поставщика","Название фирмы","Представитель");

$tables_columns = array ($table0_columns, $table1_columns, $table2_columns, $table3_columns, $table4_columns, $table5_columns, $table6_columns, $table7_columns, $table8_columns, $table9_columns, $table10_columns, $table11_columns);

$tables_titles = array ($table0_titles, $table1_titles, $table2_titles, $table3_titles, $table4_titles, $table5_titles, $table6_titles, $table7_titles, $table8_titles, $table9_titles, $table10_titles, $table11_titles);

?>.php

<?phpif (@ $_GET['action']=='showall') {$connect = dbconnect($dbhost,$dbuser,$dbpass);echo '<table width="100%" border="2" bordercolor="#FFFAFA"><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 = ibase_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 = ibase_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>';ibase_free_result($result);}f (@ $_GET['action']=='showone') {$connect = dbconnect($dbhost,$dbuser,$dbpass);$internal_id = @ $_GET[$tables_columns[$T][0]];$query = 'SELECT * FROM '.$table_name[$T].' WHERE '.$tables_columns[$T][0].'=\''.$internal_id.'\';';$result = ibase_query($query);echo '<table width="70%" border="2" align="center">';while ($row = ibase_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>';@ ibase_free_result($result);} (@ $_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>';@ibase_free_result($result);}if (@ $_GET['action']=='add') {$connect = dbconnect($dbhost,$dbuser,$dbpass);$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 = ibase_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>';@ ibase_free_result($result);}f (@ $_GET['action']=='editform') {$connect = dbconnect($dbhost,$dbuser,$dbpass);$internal_id = @ $_GET[$tables_columns[$T][0]];$query = 'SELECT * FROM '.$table_name[$T].' WHERE '.$tables_columns[$T][0].'=\''.$internal_id.'\';';$result = ibase_query($query);echo '<form action="index.php" method="GET"><table width="70%" border="2" align="center">';$row = ibase_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>';@ ibase_free_result($result);}if (@ $_GET['action']=='edit') {$connect = dbconnect($dbhost,$dbuser,$dbpass);$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 = ibase_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>';@ ibase_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>';@ ibase_free_result($result);}if (@ $_GET['action']=='delete') {$connect = dbconnect($dbhost,$dbuser,$dbpass);$query = 'DELETE FROM '.$table_name[$T].' WHERE '.$tables_columns[$T][0].'='.@ $_GET[$tables_columns[$T][0]].';';//$query = 'EXECUTE PROCEDURE DEL_'.$table_name[$T].' ('.@ $_GET[$tables_columns[$T][0]].');';//echo $query;$result = ibase_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>';@ ibase_free_result($result);}?>.php

<?php"config.php";(@ $_GET['table']==$table_name[0]) {

$T=0;"modules/universal_module.php";

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

$T=1;"modules/universal_module.php";

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

$T=2;"modules/universal_module.php";

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

$T=3;"modules/universal_module.php";

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

$T=4;"modules/universal_module.php";

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

$T=5;"modules/universal_module.php";

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

$T=6;"modules/universal_module.php";

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

$T=7;"modules/universal_module.php";

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

$T=8;"modules/universal_module.php";

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

$T=9;"modules/universal_module.php";

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

$T=10;"modules/universal_module.php";

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

$T=11;"modules/universal_module.php";

}{'<div align="center" valign="center" width="300"><FONT SIZE="6">Сайт Бетонно-растворного узла.</FONT></div><br>

<img src="images/7.gif" id="l1" style="top:300">';

}

?>

Похожие работы на - Разработка информационной системы для автоматизации, повышения эффективности работы бетонно-растворного узла

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!