Разработка автоматизированных информационных систем для учета расчетов по глушению нефтяных скважин
Описание объекта автоматизации - информационной системы по учету расчетов по глушению нефтяных скважин. Структура базы данных. Инструкция системному администратору, работа с основной и справочной информацией. Разработка алгоритма и листинг программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.12.2012 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Содержание
Введение
1. Постановка задачи
2. Описание объекта автоматизации
3. Проектирование информационной системы
4. Описание структуры БД
5. Реализация
5.1 Описание структуры проекта
5.2 Инструкция системному администратору
5.3 Инструкция пользователю
5.3.1 Работа с основной информацией
5.3.2 Работа со справочной информацией
Заключение
Источники
Приложения
Введение
Целью выполнения данной курсовой работы является закрепление и расширение полученных теоретических и практических знаний по дисциплине «Разработка и эксплуатация автоматизированных информационных систем». В процессе выполнения курсовой работы необходимо автоматизировать процесс учета расчетов по глушению нефтяных скважин.
1. Постановка задачи
Необходимо спроектировать и разработать автоматизированную информационную систему для учета расчетов по глушению нефтяных скважин используя веб-технологии, а так же разработать проектную и рабочую документацию. Рабочая документация должна состоять из инструкции системному администратору и пользователю. Документация должна иметь вид пояснительной записки.
Разрабатываемая информационная система должна соответствовать следующим требованиям:
Информационная система должна быть построена по трехзвенной архитектуре клиент-сервер.
Данные должны храниться в базе данных.
В информационной система должны быть реализованы функции добавления, редактирования, удаления всех данных.
2. Описание объекта автоматизации
Процесс учета расчетов нефтяных скважин очень трудоемок из-за большого количества формул, а так же имеет высокую вероятность ошибки, что может повлечь за собой огромные расходы, риск для жизни людей, загрязнение окружающей среды и огромные штрафы. Этот процесс был выбран с целью ускорения ведения таких расчетов и их автоматизации, что повысит точность подсчетов и скорость работы.
Для визуального представления и тестового набора данных было создано универсальное отношение, которое можно посмотреть в Приложении А.
3. Проектирование информационной системы
Для разработки и эксплуатации автоматизированной информационной системы понадобятся следующие средства:
Apache HTTP - взято с http://ru.wikipedia.org/wiki/Apache -- свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6. В данной работе необходим для развертывания локального веб-сервера
MySQL - взято с http://ru.wikipedia.org/wiki/Mysql -- свободная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. В этой работе используется для создания и управления базой данных.
Браузер - взято с http://ru.wikipedia.org/wiki/Браузер -- программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой. Нужен для просмотра и тестирования веб-сайта.
Можно использовать следующие браузеры:
Google Chrome;
Chromium;
Internet Explorer;
Opera;
Firefox.
Notepad++ -- свободный текстовый редактор с открытым исходным кодом для Windows с подсветкой синтаксиса большого количества языков программирования и разметки. Он базируется на компоненте Scintilla, написан на C++ с использованием STL, а также Win32 API и распространяется под лицензией GPL. Базовая функциональность программы может быть расширена как за счёт плагинов, так и сторонних модулей, таких как компиляторы и препроцессоры. - взято с http://ru.wikipedia.org/wiki/Notepad%2B%2B Notepad++ будет использоваться для написания PHP-скриптов и
HTML-разметки.
PHP -- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов. - взято с http://ru.wikipedia.org/wiki/Php PHP будет использован для реализации просмотра, добавления, редактирования и удаления информации из базы данных.
Интерпретатор PHP-- программа или аппаратное средство, выполняющее анализ, обработку и тут же выполнение PHP-скриптов. Будет интерпретировать PHP-скрипт для работы веб-страницы.
Так же можно использовать WAMP - «Open serverhttp://ru.wikipedia.org/wiki/MySQL - cite_note-4». Так как в нем уже настроены и установлены все вышеприведенные средства.
Open Server - взято с http://open-server.ru/ -- это портативная WAMP платформа, созданная специально для веб-разработчиков с учётом их рекомендаций и пожеланий. Программный комплекс имеет богатый набор серверного программного обеспечения, удобный, многофункциональный и продуманный интерфейс, обладает мощными возможностями по настройке и администрированию компонентов. Сборка широко используется с целью разработки, отладки и тестирования, а так же для предоставления веб-сервисов в локальных сетях.
WAMP - взято с http://ru.wikipedia.org/wiki/Wamp -- акроним, обозначающий набор (комплекс) серверного программного обеспечения, широко используемый с целью разработки, предоставления веб-сервисов. WAMP назван по первым буквам входящих в его состав компонентов:
Windows -- операционная система от компании Microsoft;
Apache -- веб-сервер;
MySQL -- СУБД;
PHP -- язык программирования, используемый для создания веб-приложений.
Хотя изначально программные продукты, входящие в состав комплекса, не разрабатывались специально для работы друг с другом, такая связка стала весьма популярной среди пользователей Windows.
4. Описание структуры БД
Для создания базы данных используется СУБД MySQL менеджер.
Так как мы проживаем в России было решено выбрать кодировку cp_1251.
Что бы была возможность использовать внешние ключи будет использован движок InnoDB.
В БД «ingenering_raschet1» будут реализованы 4 таблицы:
raschet - в это таблице будут содержаться данные для расчетов и сами результаты расчетов, а так же номер скважины для которой эти расчеты ведутся.
Таблица 1. Структура таблицы «raschet».
№ |
Поле |
Тип данных |
Дополнительно |
Описание |
|
1. |
idraschet |
Счетчик |
Ключ |
Первичный ключ |
|
2. |
skv |
Числовой |
Длинное целое |
Номер скважины |
|
3. |
idkcdng |
Числовой |
Длинное целое |
Внешний ключ |
|
4. |
idmestorogdenia |
Числовой |
Длинное целое |
Внешний ключ |
|
5. |
idplast |
Числовой |
Длинное целое |
Внешний ключ |
|
6. |
plastovoe_davlenie |
Числовой |
Вещественный |
Пластовое давление |
|
7. |
velichina_protivodavlenia |
Числовой |
Вещественный |
Величина противодавления |
|
8. |
dlina_stvola_skv_do_seredini_nignego_intervala_perforacii |
Числовой |
Вещественный |
Длина ствола скважины |
|
9. |
udlinenie_stvola_skv_na_glubine_intervala_perforacii |
Числовой |
Вещественный |
Удлинение ствола скважины |
|
10. |
obem_gidkosti_v_skv |
Числовой |
Вещественный |
Объем жидкости в скважине |
|
11. |
obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot |
Числовой |
Вещественный |
Объем жидкости для долива |
|
12. |
potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora |
Числовой |
Вещественный |
Потребность в минеральном веществе |
|
13. |
narugnii_diametr_ekspluatacionoy_koloni |
Числовой |
Вещественный |
Наружный диаметр эксп. колонны |
|
14. |
tolshina_stenki |
Числовой |
Вещественный |
Толщина стенки |
|
15. |
dlina_stvola_skv |
Числовой |
Вещественный |
Длина ствола скважины |
|
16. |
udelnii_ves_gidkosti_glushenia |
Числовой |
Вещественный |
Удельный вес жидкости глушения |
|
17. |
obem_gidkosti_glushenia |
Числовой |
Вещественный |
Объем жидкости глушения |
|
18. |
obem_ekspluatacinnoy_kolonni |
Числовой |
Вещественный |
Объем эксп. Колонны |
|
19. |
Potebnost_v_mineralnom_vashestve |
Числовой |
Вещественный |
Потребность в минеральном веществе |
kcdng- в этой таблице хранится справочная информация по КЦДНГ где находится скважина.
Таблица 2. Структура таблицы «kcdng».
№ |
Поле |
Тип данных |
Дополнительно |
Описание |
|
1. |
idkcdng |
Счетчик |
Ключ |
Первичный ключ |
|
2. |
kcdng |
Числовой |
Длинное целое |
Номер КЦДНГ |
mestorogdenia- в этой таблице находится справочная информация по месторождению скважины.
Таблица 3. Структура таблицы «mestorogdenia».
№ |
Поле |
Тип данных |
Дополнительно |
Описание |
|
1. |
idmestorogdenia |
Счетчик |
Ключ |
Первичный ключ |
|
2. |
mestorogdenia |
Числовой |
Длинное целое |
Месторождение |
plast - в этой таблице находится справочная информация по пласту где находится скважина.
Таблица 4. Структура таблицы «plast».
№ |
Поле |
Тип данных |
Дополнительно |
Описание |
|
1. |
idplast |
Счетчик |
Ключ |
Первичный ключ |
|
2. |
plast |
Числовой |
Длинное целое |
Пласт |
Связи между таблицами устанавливаются согласно Приложению Б.
5. Реализация
Выбираем MySQL-менеджер (Рисунок 1) из раздела инструменты приложения «Open server».
Рисунок 1. MySQL-менеджер.
Создаем базу данных «ingenering_raschet1»(Рисунок 2). В контекстном меню «OpenServer» в разделе
«Create New» выбираем «database».
Рисунок 2. Ввод названия БД и выбор кодировки.
В списке баз данных появится вновь созданная. Выберем ее.
На вкладке «Database: ingenering_raschet1» отображается список таблиц, входящих в базу
данных. Таблицы можно создать через контекстное меню базы данных в списке в левой
части формы или контекстное меню внутри вкладки. Для создания выбираем раздел
«Create New», но теперь выбираем «table».
Создаем таблицу «raschet» и описываем структуру таблицы как указано на рисунке (Рисунок 3) ниже.
Рисунок 3. Структура таблицы.
Чтобы сделать поле «idraschet» ключевым необходимо в контекстном меню для этого поля выбрать «Create new index», а затем «Primary».
Нажимаем на кнопку «Save» внизу для сохранения изменений в структуре таблице.
По примеру реализуем остальные таблицы.
Для того что бы установить связи между таблицами выбираем вкладку
«Foreign keys» (Рисунок 4). В первую колону вписываем имя внешнего ключа, во вторую выбираем внешний ключ, в третьей дочернюю таблицу, в четвертой первичный ключ дочерней таблицы, а в остальных колонках выставляем каскадное обновление и удаление таблицы.
Рисунок 4. Созданные отношения.
На этом построение базы данных заканчивается.
SQL-код можно просмотреть в Приложении В.
Для работы с базой данных надо создать в папке «domains», которая располагается в директории Open server, папку с названием сайта и в ней создать файл index.html с папкой «work». Папка «work» должна содержать следующие фалы:
«index.php», «raschetform.php», «processraschet.php», «delraschet.php»,
«raschetformedit.php», «processraschetedit.php», «indexsprav.php», «indexsprav1.php», «indexsprav2.php», «plastform.html», «processplast.php», «delplast.php»,
«plastformedit.php», «processplastedit.php», «kcdngform.html», «processkcdng.php», «delkcdng.php», «kcdngformedit.php», «processkcdngedit.php», «spravform.html», «processmestorogdenia.php», «delmestorogdenia.php», «mestorogdeniaformedit.php», «processmestorogdeniaedit.php», «searchindex.php».
5.1 Описание структуры проекта
Каждый из созданных файлов несет свою функцию:
index.html - заголовочный файл, с его помощью мы будем попадать на страницу.
index.php - главная страница куда выводится информация из базы данных.
raschetform.php - страница для ввода новой информации.
processraschet.php - страница где ведется обработка новой информации и ее сохранение в базу данных.
delraschet.php - страница где производится удаления .
raschetformedit.php - страница где изменяется существующая информация.
processraschetedit.php - страница обработки изменения и сохранения изменения иформации.
indexsprav.php - страница со справочной информацией.
indexsprav1.php - страница со справочной информацией.
indexsprav2.php - страница со справочной информацией.
plastform.html - страница для ввода новой справочной информации.
processplast.php - страница для обработки и сохранения новой справочной информации.
delplast.php - страница для удаления справочной информации.
plastformedit.php - страница для редактирования справочной информации.
processplastedit.php - страница для сохранения и обработки измененной информации.
kcdngform.html - страница для ввода новой справочной информации.
processkcdng.php - страница для обработки и сохранения новой справочной информации.
delkcdng.php - страница для удаления справочной информации.
kcdngformedit.php - страница для редактирования справочной информации.
processkcdngedit.php - страница для сохранения и обработки измененной информации.
spravform.html - страница для ввода новой справочной информации.
processmestorogdenia.php - страница для обработки и сохранения новой справочной информации.
delmestorogdenia.php - - страница для удаления справочной информации.
mestorogdeniaformedit.php - страница для редактирования справочной информации.
processmestorogdeniaedit.php - страница для сохранения и обработки измененной информации.
searchindex.php - страница для поиска информации по скважине.
Содержимое всех файлов находится в Приложении Е.
Взаимодействие всех страниц происходит согласно Приложению Г.
5.2 Инструкция системному администратору
Для того что бы запустить систему необходимо скопировать папку с названием сайта в папку «domains», которая находится в той же директории что и Open server. А так же выполнить SQL-код из Приложения В в MySQL менеджере.
Работа с внешними сетями. Open Server может работать в локальных сетях и сети Интернет как веб-сервер. Для работы в сети Интернет необходим статический (белый) IP адрес. Чтобы открыть доступ к серверу извне необходимо указать * в качестве IP адреса в настройках Open Server, в этом случае доступ откроется сразу для всех сетей, к которым подключён ваш компьютер. Если вы хотите открыть доступ только для одной конкретной сети (например локальной), то укажите в настройках программы IP адрес выданный вашему компьютеру в этой сети. После того, как вы настроите удалённый доступ к своему серверу, все локальные домены станут доступны удалённо. Чтобы открыть нужный сайт с удалённой машины потребуется внести в HOSTS файл такого компьютера запись с адресом вашего локального домена, например: 64.55.96.24 supersite (где 64.55.96.24 это адрес вашего компьютера, а supersite это имя локального домена). При простом наборе IP адреса вашего компьютера http://64.55.96.24/ или при попытке доступа к несуществующему локальному домену будет открываться пустая страница. Чтобы при наборе IP адреса вашего компьютера открывался определенный локальный сайт, можно создать алиас вида ваш_внешний_ip => ваш_локальный_домен. После этих действий указанный вами локальный домен, для которого вы создали алиас, станет доступен через сеть Интернет по адресу http://ваш_внешний_ip/ (например http://64.55.96.24/). Если ваш компьютер подключен к нескольким сетям и в настройках сервера установлен IP=*, то такой алиас необходимо создать для каждого IP адреса вашей машины в каждой из сетей.
5.3 Инструкция пользователю
На моем веб-сайте для работы с БД можно добавлять, изменять и удалять основную и справочную информацию, а также вести поиск по основной информации. Все расчеты производятся автоматически.
5.3.1 Работа с основной информацией
Для просмотра основной информации и результатов расчетов достаточно просто зайти на сайт (Рисунок 5)
Рисунок 5. Главная страница.
Для добавления новой информации по расчетам нужно перейти
по ссылке «Добавление данных» (Рисунок 6).
Рисунок 6. Ссылка на добавление данных.
В окне заполнения (Рисунок 7)
Рисунок 7. Добавление новой информации по расчетам.
нужно ввести необходимую информацию и нажать на кнопку «Отправить данные» (Рисунок 8)
Рисунок 8. Кнопка сохранения новых данных.
вследствие чего при успешно сохранении мы увидим надпись «Данные сохранены» (Рисунок 9).
Рисунок 9. Состояние процесса сохранения.
В случае заполнения не всех обязательных полей при нажатии на кнопку «Отправить данные» мы увидим надпись «Вы не указали все данные. Повторите ввод данных для расчета» (Рисунок 10) и ссылку на форму ввода данных.
Рисунок 10. Состояние процесса сохранения.
Для изменения информации нужно нажать на кнопку «I» ,которая находится в правой части таблицы (Рисунок 11).
Рисунок 11. Кнопка изменения данных.
В окне изменения данных можно поменять значение любого поля ввода данных (Рисунок 12)
И при завершении изменений данных нужно нажать на кнопку «Изменить данные» (Рисунок 12)
Рисунок 12. Изменение данных.
В случае успешного изменения мы увидим надпись «Данные сохранены» и ссылку «Расчеты», которая ведет на главную форму (Рисунок 13).
Рисунок 13. Успешное изменение данных.
Для удаления расчетной информации нужно нажать на кнопку «X» ,которая находится в правой части таблицы (Рисунок 14).
Рисунок 14. Удаление.
В случае успешного удаления мы увидим надпись «Данные удалены» и ссылку «Сохранённые расчеты», которая ведет на главную форму(Рисунок 15).
Рисунок 15. Удаление данных.
Для поиска расчетной информации по требуемой скважине необходимо ввести номер нужной скважины в поле ввода и нажать на кнопку (Рисунок 16).
Рисунок 16. Поиск информации.
В итоге получим расчеты по скважина номер которых содержит введенные цифры (Рисунок 17).
Рисунок 17. Результаты поиска.
5.3.2 Работа со справочной информацией
Для того что бы просмотреть, изменить, удалить и добавить справочную информацию нужно перейти по ссылке «Справочники» (Рисунок 18) на форму просмотра справочной информации (Рисунок 19).
Рисунок18. Ссылка "Справочники".
Рисунок 19. Справочники.
Работу со справочниками приведем на примере справочника «№ КЦДНГ» так как для всех остальных справочников все действия аналогичны.
Для добавления новой справочной информации нажмем на ссылку «Добавить»
Рисунок 20. Ссылка на добавление.
и увидим форму для добавления новой справочной информации (Рисунок 21).
Рисунок 21.Форма добавления справочной информации.
При успешном сохранении мы увидим надпись «Данные сохранены» и ссылки на главную и справочную формы (Рисунок 22).
Рисунок 22. Статус сохранения.
информационный учет база справочный
Для удаления справочной информации нужно нажать на кнопку «Удалить» (Рисунок 23)
Рисунок 23. Кнопка удаления.
и в случае успешного удаления мы увидим надпись «Данные удалены» и ссылки на главную и справочную формы (Рисунок 24).
Рисунок 24. Статус удаления.
Для изменения информации нужно нажать на кнопку «Изменить» (Рисунок 25)
Рисунок 25. Кнопка изменения.
вследствие чего мы перейдем на форму изменения данных (Рисунок 26).
Рисунок 26. Форма изменения данных.
В случае успешного изменения мы увидим надпись «Данные сохранены» и ссылки на главную и справочную формы (Рисунок 27).
Рисунок 27. Статус изменения.
Для того что бы вернутся к расчетам нужно нажать на ссылку «На главную» (Рисунок 28).
Рисунок 28. Ссылки навигации по сайту.
Заключение
В процессе выполнения курсовой работы была спроектирована и разработана автоматизированная информационная система с целью учета расчетов по глушению нефтяных скважин и с учетом постановки задачи.
Источники
Джексон Г., Проектирование реляционных баз данных для использования с микроЭВМ.
Джемс Р. Грофф, Пол Н. Вайнберг.,SQL Полное руководство.
Хомоненко А. Д., В.М. Цыганков, М.Г. Мальцев., Базы данных.
Л.Г. Гагарины, Д.В. Киселев, Е.Л. Федотова., Разработка и эксплуатация АИС.
http://open-server.ru/
http://ru.wikipedia.org/
Приложение А
Универсальное отношение с тестовым набором данных.
Приложение Б
Связи в базе данных.
Приложение В
SQL-код базы данных.
-- --------------------------------------------------------
-- Host: 127.0.0.1
-- Server version: 5.1.65-community-log - MySQL Community Server (GPL)
-- Server OS: Win32
-- HeidiSQL version: 7.0.0.4053
-- Date/time: 2012-12-11 03:40:14
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
-- Dumping database structure for ingenering_raschet1
DROP DATABASE IF EXISTS `ingenering_raschet1`;
CREATE DATABASE IF NOT EXISTS `ingenering_raschet1` /*!40100 DEFAULT CHARACTER SET cp1251 */;
USE `ingenering_raschet1`;
-- Dumping structure for table ingenering_raschet1.kcdng
DROP TABLE IF EXISTS `kcdng`;
CREATE TABLE IF NOT EXISTS `kcdng` (
`idkcdng` int(10) NOT NULL AUTO_INCREMENT,
`kcdng` int(10) NOT NULL,
PRIMARY KEY (`idkcdng`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
-- Data exporting was unselected.
-- Dumping structure for table ingenering_raschet1.mestorogdenia
DROP TABLE IF EXISTS `mestorogdenia`;
CREATE TABLE IF NOT EXISTS `mestorogdenia` (
`idmestorogdenia` int(10) NOT NULL AUTO_INCREMENT,
`mestorogdenia` text NOT NULL,
PRIMARY KEY (`idmestorogdenia`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
SQL-код базы данных.
-- Data exporting was unselected.
-- Dumping structure for table ingenering_raschet1.plast
DROP TABLE IF EXISTS `plast`;
CREATE TABLE IF NOT EXISTS `plast` (
`idplast` int(10) NOT NULL AUTO_INCREMENT,
`plast` text NOT NULL,
PRIMARY KEY (`idplast`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
-- Data exporting was unselected.
-- Dumping structure for table ingenering_raschet1.raschet
DROP TABLE IF EXISTS `raschet`;
CREATE TABLE IF NOT EXISTS `raschet` (
`idraschet` int(11) NOT NULL AUTO_INCREMENT,
`skv` int(11) NOT NULL DEFAULT '0',
`idmestorogdenia` int(11) NOT NULL,
`idkcdng` int(11) NOT NULL,
`idplast` int(11) NOT NULL,
`plastovoe_davlenie` float DEFAULT '0',
`velichina_protivodavlenia` float DEFAULT '0',
`dlina_stvola_skv_do_seredini_nignego_intervala_perforacii` float DEFAULT '0',
`udlinenie_stvola_skv_na_glubine_intervala_perforacii` float DEFAULT '0',
`obem_gidkosti_v_skv` float DEFAULT '0',
`obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot` float DEFAULT '0',
`potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora` float DEFAULT '0',
`narugnii_diametr_ekspluatacionoy_koloni` float DEFAULT '0',
`tolshina_stenki` float DEFAULT '0',
`dlina_stvola_skv` float DEFAULT '0',
`udelnii_ves_gidkosti_glushenia` float DEFAULT '0',
`obem_gidkosti_glushenia` float DEFAULT '0',
`obem_ekspluatacinnoy_kolonni` float DEFAULT '0',
`Potebnost_v_mineralnom_vashestve` float DEFAULT '0',
Продолжение приложение В
SQL-код базы данных.
PRIMARY KEY (`idraschet`),
KEY `idkcdng` (`idkcdng`),
KEY `idmestorogdenia` (`idmestorogdenia`),
KEY `idplast` (`idplast`),
CONSTRAINT `idkcdng` FOREIGN KEY (`idkcdng`) REFERENCES `kcdng` (`idkcdng`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `idmestorogdenia` FOREIGN KEY (`idmestorogdenia`) REFERENCES `mestorogdenia` (`idmestorogdenia`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `idplast` FOREIGN KEY (`idplast`) REFERENCES `plast` (`idplast`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
-- Data exporting was unselected.
/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
Приложение Г
Взаимодействие страниц
.
Приложение Е
Содержимое файлов
index.html:
<html>
<head>
<title>Практические работы по дисциплине РСОИ Крюкова Валерия </title>
</head>
<body>
<p> Курсовая работа по РиЭАИС студента группы АИС-10 Крюкова Валерия Николаевича.
<dl>
<dt><a href="work/index.php">Курсовая работа</a></dt>
<dd>Инженерные расчеты</dd>
</dl>
</body>
</html>
index.php:
<Html>
<head>
<title>Инженерные расчеты</title>
</head>
<body>
<h1>Расчеты по глушению скважин</h1>
<a href='indexsprav.php'>Справочник КЦДНГ.</a>
<a href='indexsprav1.php'>Справочник Месторождения.</a>
<a href='indexsprav2.php'>Справочник Пласта.</a> <a href='../index.html'>К содержанию </a>
<?php
$quer=$_POST['quer'];
echo'<form name="search" method="post" action="searchindex.php">';
echo'<input type="search" name="quer" placeholder="Поиск">';
echo' <button type="submit">Найти</button> ';
echo'</form>';
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
raschet.skv
, mestorogdenia.mestorogdenia
, kcdng.kcdng
, plast.plast
, raschet.plastovoe_davlenie
, raschet.velichina_protivodavlenia
, raschet.dlina_stvola_skv_do_seredini_nignego_intervala_perforacii
, raschet.udlinenie_stvola_skv_na_glubine_intervala_perforacii
, raschet.obem_gidkosti_v_skv
, raschet.obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot
, raschet.potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora
, raschet.narugnii_diametr_ekspluatacionoy_koloni
, raschet.tolshina_stenki
, raschet.dlina_stvola_skv
, raschet.udelnii_ves_gidkosti_glushenia
, raschet.obem_gidkosti_glushenia
, raschet.obem_ekspluatacinnoy_kolonni
, raschet.Potebnost_v_mineralnom_vashestve
, raschet.idraschet
FROM
raschet
INNER JOIN kcdng
ON raschet.idkcdng = kcdng.idkcdng
INNER JOIN mestorogdenia
ON raschet.idmestorogdenia = mestorogdenia.idmestorogdenia
INNER JOIN plast
ON raschet.idplast = plast.idplast
ORDER BY skv DESC";
$result = $handle->query($query);
$numresult = $result->num_rows;
echo'<p>Колличество записей-'.$numresult;
echo'<table border=1>';
echo'<tr><h3><center>Данные для расчета</h3></center></tr>';
echo'<tr><th>№ скважины</th>';
echo'<th>№ КЦДНГ</th>';
echo'<th>Месторождение</th>';
echo'<th>Вскрытые пласты</th>';
echo'<th>Пластовое давление</th>';
echo'<th>Величина противодавления</th>';
echo'<th>Длина ствола скважины</th>';
echo'<th>Удлинение ствола скважины на глубине интервала перфорации</th>';
echo'<th>Объем жидкости в скважине</th>';
echo'<th>Объм жидкости для долива скважин в процессе ведения работ</th>';
echo'<th>Потребность в минеральном веществе при приготовлении 1 м3 раствора</th>';
echo'<th>Наружный диаметр эксплуатационной колонны</th>';
echo'<th>Толщина стенки</th>';
echo'<th>Длина ствола</th>';
for($i=0;$i<$numresult;$i++)
{
$row=$result->fetch_assoc();
echo'<tr><td>'.$row['skv'];
echo'</td><td>'.$row['kcdng'];
echo'</td><td>'.$row['mestorogdenia'];
echo'</td><td>'.$row['plast'];
echo'</td><td>'.$row['plastovoe_davlenie'];
echo'</td><td>'.$row['velichina_protivodavlenia'];
echo'</td><td>'.$row['dlina_stvola_skv_do_seredini_nignego_intervala_perforacii'];
echo'</td><td>'.$row['udlinenie_stvola_skv_na_glubine_intervala_perforacii'];
echo'</td><td>'.$row['obem_gidkosti_v_skv'];
echo'</td><td>'.$row['obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot'];
echo'</td><td>'.$row['potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora'];
echo'</td><td>'.$row['narugnii_diametr_ekspluatacionoy_koloni'];
echo'</td><td>'.$row['tolshina_stenki'];
echo'</td><td>'.$row['dlina_stvola_skv'];
echo'</td><td>';
echo '<form action="delraschet.php" method="post">';
echo'<input type="hidden" name="idraschet" value="'.$row['idraschet'].'">';
echo'<input type="submit" value="X">';
echo'</form>';
echo'</td><td>';
echo'<form action="raschetformedit.php" method="post">';
echo'<input type="hidden" name="idraschet" value="'.$row['idraschet'].'">';
echo'<input type="submit" value="I">';
echo'</form>';
}
echo'</table>';
echo "<p><a href='raschetform.php'>Добавление данных</a>";
$handle=new mysqli('127.0.0.1','mysql','mysql','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT raschet.skv
, mestorogdenia.mestorogdenia
, kcdng.kcdng
, plast.plast
, raschet.plastovoe_davlenie
, raschet.velichina_protivodavlenia
, raschet.dlina_stvola_skv_do_seredini_nignego_intervala_perforacii
, raschet.udlinenie_stvola_skv_na_glubine_intervala_perforacii
, raschet.obem_gidkosti_v_skv
, raschet.obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot
, raschet.potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora
, raschet.narugnii_diametr_ekspluatacionoy_koloni
, raschet.tolshina_stenki
, raschet.dlina_stvola_skv
, raschet.udelnii_ves_gidkosti_glushenia
, raschet.obem_gidkosti_glushenia
, raschet.obem_ekspluatacinnoy_kolonni
, raschet.Potebnost_v_mineralnom_vashestve
FROM
raschet
INNER JOIN kcdng
ON raschet.idkcdng = kcdng.idkcdng
INNER JOIN mestorogdenia
ON raschet.idmestorogdenia = mestorogdenia.idmestorogdenia
INNER JOIN plast
ON raschet.idplast = plast.idplast
ORDER BY skv DESC";
$result = $handle->query($query);
$numresult = $result->num_rows;
echo'<p>Колличество записей-'.$numresult;
echo'<table border=1>';
echo'<tr><h3><center>Результаты расчетов</h3></center></tr>';
echo'<tr><th>№ скважины </th>';
echo'<th>№ КЦДНГ </th>';
echo'<th>Месторождение </th>';
echo'<th>Удельный вес жидкости глушения </th>';
echo'<th>Объем жидкости глушения </th>';
echo'<th>Объем эсплуатационной колонны </th>';
echo'<th>Потребность в минеральном веществе</th>';
for($i=0;$i<$numresult;$i++)
{
$row=$result->fetch_assoc();
echo'<tr><td>'.$row['skv'];
echo'</td><td>'.$row['kcdng'];
echo'</td><td>'.$row['mestorogdenia'];
echo'</td><td>'.$row['udelnii_ves_gidkosti_glushenia'];
echo'</td><td>'.$row['obem_gidkosti_glushenia'];
echo'</td><td>'.$row['obem_ekspluatacinnoy_kolonni'];
echo'</td><td>'.$row['Potebnost_v_mineralnom_vashestve'];
echo '</td>';
}
echo'</table>';
?>
<p><a href='indexsprav.php'>Справочник КЦДНГ.</a>
<p><a href='indexsprav1.php'>Справочник Месторождения.</a>
<p><a href='indexsprav2.php'>Справочник Пласта.</a>
<p><a href='../index.html'>К содержанию</a>
</body>>
</html>>
raschetform.php:
<html>
<head>
<title>Инженерные расчеты по глушению скважин</title>
</head>
<body>
<h1>Инженерные расчеты</h1>
<p><a href='index.php'>Сохраненные расчеты</a>
<h2>Форма ввода данных для расчета</h2>
<form action="processraschet.php" method=post>
<table border=1>
<tr bgcolor="#FFFF99">
<td width=15>№ скважины</td>
<td width=15>КЦДНГ</td>
<td width=15>Месторождение</td>
<td width=15>Вскрытый пласт</td>
<td width=15>Пластовое давление</td>
<td width=15>Величина противодавления</td>
<td width=15>Длина ствола скважины</td>
<td width=15>Удлинение ствола скважины на глубине интервала перфорации </td>
<td width=15>Объем жидкости в скважине</td>
<td width=15>Объм жидкости для долива скважин в процессе ведения работ</td>
<td width=15>Потребность в минеральном веществе при приготовлении 1 м3 раствора</td>
<td width=15>Наружный диаметр эксплуатационной колонны</td>
<td width=15>Толщина стенки</td>
<td width=15>Длина ствола</td>
</tr>
<tr>
<td align=left><input type="text" name="skv" size=6 maxlength="6"></td>
<td>
<?php
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
idkcdng,
kcdng
FROM kcdng";
$result = $handle->query($query);
$numresult = $result->num_rows;
echo '<select name="idkcdng">';
for($i=0;$i<$numresult;$i++)
{
$row=$result->fetch_assoc();
echo "<option value='".$row['idkcdng']."'";
echo ">";
echo $row['kcdng'];
echo '</option>';
}
echo '</select>';
?>
</td>
<td>
<?php
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
idmestorogdenia,
mestorogdenia
FROM mestorogdenia";
$result = $handle->query($query);
$numresult = $result->num_rows;
echo '<select name="idmestorogdenia">';
for($i=0;$i<$numresult;$i++)
{
$row=$result->fetch_assoc();
echo "<option value='".$row['idmestorogdenia']."'";
echo ">";
echo $row['mestorogdenia'];
echo '</option>';
}
echo '</select>';
?>
</td>
<td>
<?php
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
idplast,
plast
FROM plast";
$result = $handle->query($query);
$numresult = $result->num_rows;
echo '<select name="idplast">';
for($i=0;$i<$numresult;$i++)
{
$row=$result->fetch_assoc();
echo "<option value='".$row['idplast']."'";
echo ">";
echo $row['plast'];
echo '</option>';
}
echo '</select>';
?>
</td>
<td align=left><input type="text" name="plastovoe_davlenie" size=6 maxlength="6"></td>
<td align=left><input type="text" name="velichina_protivodavlenia" size=6 maxlength="6"></td>
<td align=left><input type="text" name="dlina_stvola_skv_do_seredini_nignego_intervala_perforacii" size=6 maxlength="6"></td>
<td align=left><input type="text" name="udlinenie_stvola_skv_na_glubine_intervala_perforacii" size=6 maxlength="6"></td>
<td align=left><input type="text" name="obem_gidkosti_v_skv" size=6 maxlength="6"></td>
<td align=left><input type="text" name="obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot" size=6 maxlength="6"></td>
<td align=left><input type="text" name="potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora" size=6 maxlength="6"></td>
<td align=left><input type="text" name="narugnii_diametr_ekspluatacionoy_koloni" size=6 maxlength="6"></td>
<td align=left><input type="text" name="tolshina_stenki" size=4 maxlength="6"></td>
<td align=left><input type="text" name="dlina_stvola_skv" size=5 maxlength="6"></td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" value="Отправить данные"></td>
</tr>
</table>
</form>
</body>
</html>
processraschet.php:
<html>
<head>
<title>Инженерные расчеты - Результат расчетов</title>
</head>
<body>
<h1>Инженерные расчеты</h1>
<h2>Результат расчетов</h2>
<?php
$skv=$_REQUEST['skv'];
$idkcdng=$_REQUEST['idkcdng'];
$idmestorogdenia=$_REQUEST['idmestorogdenia'];
$idplast=$_REQUEST['idplast'];
$plastovoe_davlenie=$_REQUEST['plastovoe_davlenie'];
$velichina_protivodavlenia=$_REQUEST['velichina_protivodavlenia'];
$dlina_stvola_skv_do_seredini_nignego_intervala_perforacii=$_REQUEST['dlina_stvola_skv_do_seredini_nignego_intervala_perforacii'];
$udlinenie_stvola_skv_na_glubine_intervala_perforacii=$_REQUEST['udlinenie_stvola_skv_na_glubine_intervala_perforacii'];
$obem_gidkosti_v_skv=$_REQUEST['obem_gidkosti_v_skv'];
$obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot=$_REQUEST['obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot'];
$potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora=$_REQUEST['potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora'];
$narugnii_diametr_ekspluatacionoy_koloni=$_REQUEST['narugnii_diametr_ekspluatacionoy_koloni'];
$tolshina_stenki=$_REQUEST['tolshina_stenki'];
$dlina_stvola_skv=$_REQUEST['dlina_stvola_skv'];
if ((empty($skv))||(empty($idkcdng))||(empty($idmestorogdenia))||(empty($idplast))||(empty($plastovoe_davlenie))||(empty($velichina_protivodavlenia))||(empty($dlina_stvola_skv_do_seredini_nignego_intervala_perforacii))||(empty($udlinenie_stvola_skv_na_glubine_intervala_perforacii))||(empty($obem_gidkosti_v_skv)))
{
echo '<p>Вы не указали все данные. Повторите ввод даных для расчета.';
echo '<p><a href="raschetform.php">К форме ввода данных</a>';
echo '</body>';
echo '</html>';
exit;
}
if ((empty($plastovoe_davlenie))&&(empty($velichina_protivodavlenia))&&(empty($dlina_stvola_skv_do_seredini_nignego_intervala_perforacii)))
{
$udelnii_ves_gidkosti_glushenia=0;
$plastovoe_davlenie=0;
$velichina_protivodavlenia=0;
$dlina_stvola_skv_do_seredini_nignego_intervala_perforacii=0;
}
else
{
$udelnii_ves_gidkosti_glushenia=(($plastovoe_davlenie+$velichina_protivodavlenia)*10)/$dlina_stvola_skv_do_seredini_nignego_intervala_perforacii-l;
}
if ((empty($obem_gidkosti_v_skv))&&(empty($obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot))&&(empty($obem_gidkosti_v_skv)))
{
$obem_gidkosti_glushenia=0;
$obem_gidkosti_v_skv=0;
$obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot=0;
$obem_gidkosti_v_skv=0;
}
else
{
$obem_gidkosti_glushenia=$obem_gidkosti_v_skv+$obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot+(0.2*$obem_gidkosti_v_skv);
}
if ((!empty($narugnii_diametr_ekspluatacionoy_koloni))&&(!empty($tolshina_stenki))&&(!empty($dlina_stvola_skv)))
{
$obem_ekspluatacinnoy_kolonni=((3.14*($narugnii_diametr_ekspluatacionoy_koloni-2*$tolshina_stenki))/4)*$dlina_stvola_skv;
}
else
{
$obem_ekspluatacinnoy_kolonni=0;
$narugnii_diametr_ekspluatacionoy_koloni=0;
$tolshina_stenki=0;
$dlina_stvola_skv=0;
}
if ((!empty($obem_gidkosti_glushenia))&&(!empty($potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora)))
{
$Potebnost_v_mineralnom_vashestve=$obem_gidkosti_glushenia*$potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora;
}
else
{
$Potebnost_v_mineralnom_vashestve=0;
$potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora=0;
}
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="INSERT INTO raschet
(skv,
idkcdng,
idmestorogdenia,
idplast,
plastovoe_davlenie,
velichina_protivodavlenia,
dlina_stvola_skv_do_seredini_nignego_intervala_perforacii,
udlinenie_stvola_skv_na_glubine_intervala_perforacii,
obem_gidkosti_v_skv,
obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot,
potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora,
narugnii_diametr_ekspluatacionoy_koloni,
tolshina_stenki,
dlina_stvola_skv,
udelnii_ves_gidkosti_glushenia,
obem_gidkosti_glushenia,
obem_ekspluatacinnoy_kolonni,
Potebnost_v_mineralnom_vashestve
)
VALUES
($skv,
$idkcdng,
$idmestorogdenia,
$idplast,
$plastovoe_davlenie,
$velichina_protivodavlenia,
$dlina_stvola_skv_do_seredini_nignego_intervala_perforacii,
$udlinenie_stvola_skv_na_glubine_intervala_perforacii,
$obem_gidkosti_v_skv,
$obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot,
$potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora,
$narugnii_diametr_ekspluatacionoy_koloni,
$tolshina_stenki,
$dlina_stvola_skv,
$udelnii_ves_gidkosti_glushenia,
$obem_gidkosti_glushenia,
$obem_ekspluatacinnoy_kolonni,
$Potebnost_v_mineralnom_vashestve
)
";
$result = $handle->query($query);
if ($result) echo "Данные сохранены";
if (!$result)
echo "Ошибка сохранения данных";
echo "<p><a href='index.php'>Сохраненные расчеты</a>";
?>
</body>
</html>
delraschet.php:
<html>
<head>
<title>Инженерные расчеты - Удаление расчетов</title>
</head>
<body>
<h1>Инженерные расчеты</h1>
<h2>Удаление расчетов</h2>
<?php
$idraschet = $_REQUEST['idraschet'];
$handle = new mysqli('127.0.0.1', 'root', '', 'ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
//формирование строки запроса на удаление заказа
$query = "DELETE FROM raschet WHERE idraschet=$idraschet";//передача строки запроса соединению с БД и сотвественно его выполнение
$result = $handle->query($query);
//проверка результата, если есть то запрос выполнился если нет то есть ошибки, либо в запросе, либо в типах данных
if ($result) echo "Данные удалены";
if (!$result) echo "Ошибка удаления данных";
echo "<p><a href='index.php'>Сохраненные расчеты</a>";
?>
</body>
</html>
raschetformedit.php:
<html>
<head>
<title>Инженерные расчеты - Изменение расчетов</title>
</head>
<body>
<h1>Инженерные расчеты</h1>
<p><a href='index.php'>Сохраненные расчеты</a>
<h2>Изменение расчетов</h2>
<form action="processraschetedit.php" method=post>
<table border=1>
<?php
$idraschet = $_REQUEST['idraschet'];
echo '<input type="hidden" name="idraschet" value="'.$idraschet.'">';
$handle = new mysqli('127.0.0.1', 'root', '', 'ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");//Формируем строку запроса на выборку данных по конкретному заказу, чтобы пользователь видел данные изменяемого заказа
//ORDER BY отсутствует так как строка одна, вместо используем условие для выбора конкретной строки(WHERE idskv=$idskv) $idskv передается с index.php
$query = "SELECT
idraschet,
skv,
idkcdng,
idmestorogdenia,
idplast,
plastovoe_davlenie,
velichina_protivodavlenia,
dlina_stvola_skv_do_seredini_nignego_intervala_perforacii,
udlinenie_stvola_skv_na_glubine_intervala_perforacii,
obem_gidkosti_v_skv,
obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot,
potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora,
narugnii_diametr_ekspluatacionoy_koloni,
tolshina_stenki,
dlina_stvola_skv
FROM raschet
WHERE idraschet=$idraschet
";
$result = $handle->query($query);
$row=$result->fetch_assoc();
//вывод данных из массива ассоциируемого со строкой результата в поля формы,
//для текстовых значений, которые могут содержать " или ' используем функцию
echo'<tr><td>№ скважины</td>
<td align=left><input type="text" name="skv" size=6 maxlength="6" value='.$row['skv'].'></td>';
echo'</tr>';
echo'<tr>';
echo'<td>';
echo'№ КЦДНГ';
echo'</td>';
echo'<td>';
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
kcdng.idkcdng,
kcdng.kcdng
,raschet.idraschet
FROM
raschet
INNER JOIN kcdng
ON raschet.idkcdng = kcdng.idkcdng
";
$result = $handle->query($query);
$row=$result->fetch_assoc();
echo '<select name="idkcdng">';
echo "<option value='".$row['idkcdng']."'";
echo ">";
echo $row['kcdng'];
echo '</option>';
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
idkcdng,
kcdng
FROM kcdng";
$result = $handle->query($query);
$numresult = $result->num_rows;
for($i=0;$i<$numresult;$i++)
{
$row=$result->fetch_assoc();
echo "<option value='".$row['idkcdng']."'";
echo ">";
echo $row['kcdng'];
echo '</option>';
}
echo '</select>';
echo '</td>';
echo '</tr>';
echo'<tr>';
echo'<td>';
echo'Месторождение';
echo'</td>';
echo'<td>';
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
mestorogdenia.idmestorogdenia,
mestorogdenia.mestorogdenia
,raschet.idmestorogdenia
FROM
raschet
INNER JOIN mestorogdenia
ON raschet.idmestorogdenia = mestorogdenia.idmestorogdenia
";
$result = $handle->query($query);
$row=$result->fetch_assoc();
echo '<select name="idmestorogdenia">';
echo "<option value='".$row['idmestorogdenia']."'";
echo ">";
echo $row['mestorogdenia'];
echo '</option>';
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
idmestorogdenia,
mestorogdenia
FROM mestorogdenia";
$result = $handle->query($query);
$numresult = $result->num_rows;
for($i=0;$i<$numresult;$i++)
{
$row=$result->fetch_assoc();
echo "<option value='".$row['idmestorogdenia']."'";
echo ">";
echo $row['mestorogdenia'];
echo '</option>';
}
echo '</select>';
echo'</tr>';
echo'</td>';
echo'<tr>';
echo'<td>';
echo'Вскрытый пласт';
echo'</td>';
echo'<td>';
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
plast.idplast,
plast.plast
,raschet.idplast
FROM
raschet
INNER JOIN plast
ON raschet.idplast = plast.idplast
";
$result = $handle->query($query);
$row=$result->fetch_assoc();
echo '<select name="idplast">';
echo "<option value='".$row['idplast']."'";
echo ">";
echo $row['plast'];
echo '</option>';
$handle=new mysqli('127.0.0.1','root','','ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");
$query="SELECT
idplast,
plast
FROM plast";
$result = $handle->query($query);
$numresult = $result->num_rows;
for($i=0;$i<$numresult;$i++)
{
$row=$result->fetch_assoc();
echo "<option value='".$row['idplast']."'";
echo ">";
echo $row['plast'];
echo '</option>';
}
echo '</select>';
echo'</tr>';
echo'</td>';
$idraschet = $_REQUEST['idraschet'];
echo '<input type="hidden" name="idraschet" value="'.$idraschet.'">';
$handle = new mysqli('127.0.0.1', 'root', '', 'ingenering_raschet1');
$handle->query("set names cp1251");
$handle->query("set character_set_server=cp1251");//Формируем строку запроса на выборку данных по конкретному заказу, чтобы пользователь видел данные изменяемого заказа
//ORDER BY отсутствует так как строка одна, вместо используем условие для выбора конкретной строки(WHERE idskv=$idskv) $idskv передается с index.php
$query = "SELECT
idraschet,
skv,
idkcdng,
idmestorogdenia,
idplast,
plastovoe_davlenie,
velichina_protivodavlenia,
dlina_stvola_skv_do_seredini_nignego_intervala_perforacii,
udlinenie_stvola_skv_na_glubine_intervala_perforacii,
obem_gidkosti_v_skv,
obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot,
potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora,
narugnii_diametr_ekspluatacionoy_koloni,
tolshina_stenki,
dlina_stvola_skv
FROM raschet
WHERE idraschet=$idraschet";
$result = $handle->query($query);
$row=$result->fetch_assoc();
echo'<tr><td>Пластовое давление</td>
<td align=left><input type="text" name="plastovoe_davlenie" size=6 maxlength="6" value='.$row['plastovoe_davlenie'].'></td>
</tr>';
echo'<tr><td>Величина противодавления</td>
<td align=left><input type="text" name="velichina_protivodavlenia" size=6 maxlength="6" value='.$row['velichina_protivodavlenia'].'></td>
</tr>';
echo'<tr><td>Длина ствола скважины</td>
<td align=left><input type="text" name="dlina_stvola_skv_do_seredini_nignego_intervala_perforacii" size=6 maxlength="6" value='.$row['dlina_stvola_skv_do_seredini_nignego_intervala_perforacii'].'></td>
</tr>';
echo'<tr><td>Удлинение ствола скважины на глубине интервала перфорации </td>
<td align=left><input type="text" name="udlinenie_stvola_skv_na_glubine_intervala_perforacii" size=6 maxlength="6" value='.$row['udlinenie_stvola_skv_na_glubine_intervala_perforacii'].'></td>
</tr>';
echo'<tr><td>Объем жидкости в скважине</td>
<td align=left><input type="text" name="obem_gidkosti_v_skv" size=6 maxlength="6" value='.$row['obem_gidkosti_v_skv'].'></td>
</tr>';
echo'<tr><td>Объм жидкости для долива скважин в процессе ведения работ</td>
<td align=left><input type="text" name="obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot" size=6 maxlength="6" value='.$row['obem_gidkosti_dlya_doliva_skvagin_v_processe_vedenia_rabot'].'></td>
</tr>';
echo'<tr><td>Потребность в минеральном веществе при приготовлении 1 м3 раствора</td>
<td align=left><input type="text" name="potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora" size=6 maxlength="6" value='.$row['potrebnost_v_mineralnom_veshestve_pri_prigotovlenii_1m3_rastvora'].'></td>
</tr>';
echo'<tr><td>Наружный диаметр эксплуатационной колонны</td>
<td align=left><input type="text" name="narugnii_diametr_ekspluatacionoy_koloni" size=6 maxlength="6" value='.$row['narugnii_diametr_ekspluatacionoy_koloni'].'></td>
</tr>';
echo'<tr><td>Толщина стенки</td>
<td align=left><input type="text" name="tolshina_stenki" size=6 maxlength="6" value='.$row['tolshina_stenki'].'></td>
Подобные документы
Цементирование обсадных колонн нефтяных скважин. Состав информационного обеспечения программного комплекса автоматизированного проектирования. Реализация инфологической модели и организация взаимодействия программного обеспечения с базой данных.
дипломная работа [2,3 M], добавлен 22.07.2013Инструментальные средства для разработки структуры информационной базы данных "Программа автоматизации учета расчетов с поставщиками", пользовательский интерфейс СУБД Access. Разработка запросов отбора данных и вычислений, экранных форм коррекции данных.
лабораторная работа [2,4 M], добавлен 15.11.2010Разработка информационной программы для риэлтерской конторы по учету клиентской базы и базы квартир с фиксированием всех операций по купле-продаже. Описание структуры базы данных. Создание запросов и отчетов. Инструкция по эксплуатации, текст программы.
курсовая работа [2,4 M], добавлен 07.09.2012Анализ информационных потоков. Описание информационных задач. Функциональное назначение программы, ее структура, описание логики. Тексты запросов на языке SQL. Назначение и условия применения информационно-справочной системы, описание операций, отчетов.
курсовая работа [3,0 M], добавлен 16.12.2013Опыт создания автоматизированных информационных систем. Разработка автоматизированной информационной системы для строительного предприятия ООО "СТК Дело". Этапы проектирования базы данных для учета хранения строительных материалов на складе предприятия.
курсовая работа [1,7 M], добавлен 15.03.2015Разработка системы, автоматизирующей ведение базы данных библиотеки. Основные требования к программному обеспечению. Модели локальных представлений. Архитектура информационной системы. Хранимые процедуры. SQL-скрипт создания базы данных. Текст программы.
дипломная работа [2,2 M], добавлен 28.01.2014Разработка базы данных FoxPro (БД), листинг программы. Работа с несколькими таблицами и установление взаимосвязей между ними. Система меню, формирование отчетов. Использование расширенных средств ввода и вывода данных. Организация справочной системы.
дипломная работа [1,7 M], добавлен 20.08.2009Системно-комплексный анализ выбранного объекта автоматизации. Структура пользовательского интерфейса автоматизированной системы. Функциональный аспект информационной страты объекта. Концептуальная модель базы данных. Нормализация полученных отношений.
курсовая работа [64,9 K], добавлен 25.02.2014Создание программного обеспечения для автоматизации процесса администрирования сеансов кинотеатра и продажи билетов. Разработка приложений базы данных по учету управления продажи билетов в кинотеатре средствами Microsoft Access. Программный листинг.
курсовая работа [572,9 K], добавлен 15.04.2014Развитие информационных систем. Современный рынок финансово-экономического прикладного программного обеспечения. Преимущества и недостатки внедрения автоматизированных информационных систем. Методы проектирования автоматизированных информационных систем.
дипломная работа [1,5 M], добавлен 22.11.2015