Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка туристического сайта “Турист"

Содержание:

Введение

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

В курсовой работе будут использованы базы данных - MYSQL, веб интерфейс в связке HTML + CSS + PHP + JS с использованием phpMyAdmin для проектирования базы данных. При этом требования к обслуживанию информационной системы остаются минимальными.

Объект исследования - автоматизированная система учета услуг, оказываемых клиенту в условиях работы туристической фирмы.

Предмет исследования – особенности проектирования базы данных на базе платформы MYSQL разработки интерфейса в HTML с применением средств обработки данных PHP + JS.

Цель работы – разработка сайта "Интернет-приложения «Турист»", и реализация этого проекта с использованием базы данных - MYSQL, веб интерфейс в связке HTML + CSS + PHP + JS.

Задача курсовой работы есть разработка интегрированной системы управления сайтом. К основным задачам можно отнести:

- охарактеризовать предметную область решаемой задачи;

- разработать требований к интернет-приложению

- выбрать среду разработки

- спроектировать архитектуры сайта

- разработать базы данных для сайта

- сформировать запросы к базе данных средствами РНР и MySQL

Элементы новизны: в процессе работы была разработана модель базы данных сайта " Интернет-приложения «Турист»" на базе данных - MYSQL, веб интерфейс в связке HTML + CSS + PHP + JS.

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

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

Глава 1 Техническое задание и выбор средств реализации

1.1 Техническое задание

Основание для разработки

Полное наименование интернет - сервиса (автоматизированной системы) - «Интернет-приложения «Турист»»

Наименование организации заказчика Московский финансово-промышленный университет «Университет».

Требования к интерфейсу: сервис должен быть современным, стиль – лэндинг. Возможность регистрации и ведение аккаунта.

Наименование разработчика: студент Настасий Д.C.

Выполнение работ по развитию автоматизированной системы (интернет – сайта) и поддержке его функционирования планируется на протяжении всего жизненного цикла и сроками не ограничивается.

Задача и предназначение разработки

Назначение системы (со стороны работника): распределение заказов между исполнителями. Своевременно получить заказ и вести учет оказанных туристических услуг.

Назначение системы (со стороны клиента): обеспечение клиентов туристическими услугами.

Автоматизации подлежит выбор свободных исполнителей и присваивание им заказов.

Целью создания сервиса: является повышение числа клиентов компании.

Основные задачи представлены ниже:

Повысить скорость обработки заказов;

Просматривать, удалять или обновлять список клиентов;

Просматривать, удалять или обновлять список туристических туров;

Просматривать список заказов любого из клиентов.

Обеспечить менеджера за короткий промежуток времени всей необходимой информацией:

Клиентах и их заказах

Туристических услугах и их количестве;

Всех общих заказов;

Оценка предмета автоматизации

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

Условия к программному продукту

В системе должны быть следующие функциональные подсистемы:

Подсистема сбора, обработки и загрузки данных;

Подсистема хранения данных;

Подсистема учета пользователей системы;

Подсистема предоставления данных по запросу;

Подсистема добавления/редактирования/удаления данных;

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

В системе должны реализоваться следующие подсистемы:

Подсистема добавления/редактирования/удаления данных;

Добавление данных на сайте в БД через формы;

- Заказов;

- Клиентов;

- Туристических услуг;

Редактирование данных на сайте через формы;

- Заказов;

- Клиентов;

- Туристических услуг;

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

Подсистема хранения данных. Данные должны храниться в БД под управлением MySQL. Подсистема должна обеспечивать целостность и полноту данных.

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

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

1.2 Выбор средств реализации

При проектировании и разработке системы необходимо максимально эффективным образом использовать ранее закупленное программное обеспечение.

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

Организация данных в системе должна быть построена на основе функциональных возможностей MySQL и PHP. Работа с базой данных должна осуществляется помощью SQL.

Базовой программной платформой должна являться операционная система Windows.

Работа данных программ должна быть совместима с программным продуктом ОС Microsoft Windows 8 и пакетом программ Microsoft Office 2007.

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

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

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

PHP;

SQL (MySQL);

HTML;

JavaScript.

Глава 2. Проектирование интернет приложения «Турист»

2.1 Разработка модулей серверной части программы и их взаимодействие

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

В конечном итоге, веб-дизайнер готовит несколько эскизов, которые будут выглядеть ровно так, как будущие страницы Интернет-ресурса.

Рисунок 2.1 Шапка сайта

— Создание HTML-шаблонов

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

Рисунок 2.2 – Блочная композиция сайта с левым позиционированием элементов навигации для раздела клиента

Рисунок 2.3 Разработка UML диаграммы использования в среде Visio

Рисунок 2.4 Структура интерфейсов программного комплекса «Интернет-приложения «Турист»

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

.

Рисунок 2.5 Разработка UML диаграммы последовательности в среде Visio

Логическая структура сайта представлена на рисунке 2.4 отображена схема, характеризующая архитектуру сайта Интернет-приложения «Сервис».

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

Рисунок 2.6 – Физическая структура сайта интернет-приложения «Турист»

Рисунок 2.7 – Физическая структура подключаемых модулей к сайту «Интернет-приложения «Турист»»

Рисунок 2.8 Разработка UML диаграммы классов в среде Visio

Физическая структура панели управления программного комплекса «Турист» представлена на рис. 2.9

Рисунок 2.9 – Физическая структура панели менеджера продаж сайта интернет-приложения «Сервис»

2.2 Проектирование БД сайта

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

Администрирование баз данных проводится в специальном веб-приложении phpMyAdmin, представляющим удобный веб – интерфейс для управления базами данных СУБД MySQL. Через браузер с помощью phpMyAdmin проводится администрирование сервера MySQL, проводится просмотр и редактирование таблиц, а также запуск команд на языке SQL.

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

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

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

Рисунок 2.10 Структура таблицы администратора

Введены следующие атрибуты: пользователь, вид работы, информация о пользователе, телефон, фото. На рис 3.10 приведена реляционная модель данных.

admin {#id, Логин, Пароль}

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

Рисунок 2.11 Структура таблицы Туристические туры

Рисунок 2.12 Структура таблицы клиента

Информация о клиента {#id, Фамилия, Имя Отчество, контактные данные}

Рисунок 2.13 Структура таблицы номенклатура оказываемых услуг

Номенклатура {#id, название, артикул}

Рисунок 2.14 Структура таблицы Заказ

Заказ {#id, Дата, Номер, клиент, туристические услуги}

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

Рисунок 2.15 Структура таблицы список туристических услуг в заказе

Заказ {#id, Заказ, туристическая услуга, количество, цена, Сумма}

Рисунок 2.16 Структура таблицы Прайс

Прайс {#id, номенклатура цена }

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

Рисунок 2.17 Физическая модель базы данных в среде phpMyAdmin

Таблицы связаны друг другом через общее поле «id». На рисунке 2.17 представлена общая планируемая схема данных базы данных сайта интернет-приложения «Турист»

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

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

На рисунке 2.18 изображен фрагмент кода запроса получения данных с сервера базы данных интернет сайта «Турист», при формировании списка номенклатуры в заказе .

Рисунок 2.18 Запрос формирования списка номенклатуры по заказу

Результатом запроса данных на странице сайта будет отображена информация на рисунке 2.19 (таблица) со следующими данными:

Рисунок 2.19 Форма Заказа

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

Запросы на добавления информации в базу данных представлены в приложении 1.

Глава 3 Описание структуры клиентской части

3.1 Представление интерфейса программного модуля

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

Для реализации своей деятельности, пользователю необходимо пройти верификацию сайта «Турист». Верификация осуществляется следующим образом, сначала пользователь вносит логин и пароль, после чего переходит на свою персональную страницу (аккаунт). Далее, по предпочтению во времени, администратор заполняет данными учетные таблицы.

Реализация регистрации осуществляется следующим образом, на первоначальной стадии регистрации, пользователь вносит только логин и пароль, в базе данных в таблице «admin» появляется запись с присвоенным ID пользователя.

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

Рисунок 3.1. Код на верификацию пользователя

Рисунок 3.2 Первоначальная регистрация администратора

Рисунок 3.3 Вход в административную панель

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

Рисунок 3.4 Первоначальная регистрация клиента

3.2 Инструкция пользователя

1 Проверка работы окна ПК «Турист» добавление модели регламентируемой номенклатуры.

Рисунок 3.5 Проверка работы окна ПК «Добавить туристические туры ».

2 Проверка работы страницы ПК «Турист» добавления туристических услуг.

Рисунок 3.6 Проверка работы окна ПК «Турист» добавление туристический услуг.

Проверка работы страницы ПК «Турист» добавления цены

Для добавления цены необходимо на первой странице выбрать номенклатуру и цену услуги

Рисунок 3.7 Проверка работы окна ПК «Турист» заполнение прайс листа.

После нажатия кнопки добавить происходит запись в таблицу «pricelist».

Функционалом предусмотрена возможность внесения данных о заказе для этого необходимо выбрать страницу «Заказ клиента»

Рисунок 3.8 Выбор данных пользователем для формирования заказа.

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

Для добавления услуги в заказ выполняем поиск заказа в строке поиска:

Рисунок 3.9 Поиск заказа для заполнения услуг по «Заказу клиента»

Для контроля внесённых данных на экране отображается информация, введённая ранее по выбранному заказу.

Рисунок 3.10 – Окно внесения информации об услугах в «Заказ клиента»

Если у клиента оператором установлена постоянная скидка, то она рассчитывается, и вносится в базу данных.

Если у клиента есть накопительная скидка, то осуществляется запрос к базе данных обо всех продажах клиентов.

Таблица 3.11 Запрос получения объема продаж клиентом

На основании полученной накопленной суммы делается вывод о применении накопительной скидки.

Таблица 3.12 Алгоритм определения скидки клиентам

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

Таблица 3.33 Результат работы окна добавления «Услуги в заказ»

И в таблицу «accumulativediscountamount» записывается накопленная сумма продаж клиенту

Таблица 3.14 Результат работы окна добавления «Услуги в заказ» по расчету накопленной суммы клиентом.

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

Проверка продаж клиенту осуществляется в два этапа

1 Поиск клиента в базе данных

Страница поиска отображается после нажатия кнопки «Ведомость продаж клиентам» панели управления Администратора.

Рисунок 3.15 Поиск клиента в базе данных

В строку поиска вписывается номер клиента и нажимается кнопка «Поиск»

2 Если клиент существует в базе, то система формирует отчет продажах клиенту

Рисунок 3.16 Формирование отчета о продаж клиенту

Спроектировано «Интернет-приложения «Турист»», с использованием языка веб разработки PHP, HTML, а также языка запросов SQL. Вся совокупность программных средств разработки сайта и ведению баз данных, удовлетворяет потребностям технического задания в осуществлении разработки сервиса по схеме архитектуры «Интернет-приложения «Турист»»,.

Заключение

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

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

Перед проведением автоматизации процессов учебного заведения следует провести их описание и анализ с использованием наиболее подходящих CASE-средств для того, чтобы иметь четкое представление о самих процессах и о вариантах их оптимизации.

Проанализировав различные Информационные системы, принято решение разработать индивидуальную информационную систему, как наиболее подходящую под требования. Был произведен анализ рынка существующих средств разработки. Наиболее предпочтительной казалась базы данных – MYSQL с веб интерфейс в связке HTML + CSS + PHP + JS,. Изучив возможности существующих систем, стало понятно, что они не отвечают определенным требованиям, предъявляемые к системе, учитывая специфику деятельности преподавателя. Было принято решение разработать собственный сайт, для прозрачности и удобства ведения учета продаж. Разработано техническое задание на разработку собственного сайта.

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

В результате выполнения работы было:

- охарактеризована предметная область решаемой задачи;

- проведен анализ существующих разработок в предметной области

- рассмотрены основные функции интернет-приложения

- разработаны требования к интернет-приложению

- выбрана среда разработки

- спроектирована архитектура сайта

- разработана база данных для сайта

- сформированы запросы к базе данных средствами РНР и MySQL

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

Список используемой литературы

  1. Душин В.К. Теоретические основы информационных процессов и систем: Учебник / В.К. Душин. – М.: Издательско-торговая корпорация «Дашков и Ко», 2015
  2. Советов Б.Я. Информационные технологии: Учебник для вузов / Б.Я. Советов, В.В. Цехановский. – 2-е изд., стер. – М.: Высшая шк., 2015
  3. Маклаков С.В. Моделирование бизнес-процессов с AllFusion PM. – 2-е изд., испр. и дополн. – М.: Издательство Диалог-МИФИ, 2013
  4. Дакетт Джон HTML и CSS. Разработка и дизайн веб-сайтов (+ CD-ROM); Эксмо - Москва, 2013.
  5. Дронов, Владимир Macromedia Dreamweaver 4: разработка Web-сайтов; M.: БХВ – Москва, 2014.
  6. Байков В. Интернет. Поиск информации и продвижение сайтов; Книга по Требованию - Москва, 2015.
  7. Редько, В.Н.; Бассараб, И.А. Базы данных и информационные системы; Знание, 2015.
  8. Редько, В.Н.; Бассараб, И.А. Базы данных и информационные системы; Знание, 2015.
  9. Adobe Dreamweaver CS4 [Текст]: официальный учебный курс. – М.: Эксмо, 2009. – 304 с.
  10. http://wdw.agava.ru/designer/index_0001.html - Портал WDW, раздел Компьютерный дизайн.
  11. http://webinfo.nm.ru/train/tr12.htm - Продвижение веб-сайта через регистрацию в поисковых системах.
  12. http://wing.da.ru/welcom.asp - WinG 3D World – сайт, посвященный трехмерной графике.
  13. http://www/labirint.ru -реклама, графический дизайн.
  14. Аксак, В.А. Новейшая энциклопедия Интернет 2007 [Текст]: всеобъемлющее руководство по эффективному использованию Сети / В.А. Аксак; ред. В.В. Александров. – М.: ЭКСМО, 2007. – 912 с.
  15. Алексеев, А.П. Введение в WEB-дизайн [Текст]: учеб. пособие для вузов / А.П. Алексеев. – М.: СОЛОН-ПРЕСС, 2008. – 184 с.
  16. Вайскопф Дж. Microsoft Frontpage 2000.: учебный курс -СПб: Издательство "Питер",2000.- 352 с.:ил.
  17. Даконта. XML и Java 2 Изд.Питер пресс 2001 Спб Серия "Библиотека программиста", 384 с.
  18. Евсеев, Д.А. Web-дизайн в примерах и задачах [Текст]: учеб. пособие / Д.А. Евсеев, В.Р. Трофимов; Под. ред. В.В. Трофимова. – М.: КНОРУС, 2010. – 272 с.
  19. Котеров, Д.В. PHP 5 [Текст] / Д.В. Котеров, А.Ф. Костарев. – 2-е изд., перераб. и доп. – СПб.: БХВ Петербург, 2008. – 1104 с.
  20. Кречман Д.Л., Пушков А.И. Мультимедиа своими руками. - СПб.: БХВ – Санкт-Петербург, 1999. - 528 с. ил.
  21. Омельченко Л.Н., Федоров А.Ф. Самоучитель Microsoft® FrontPage 2000. СПб.:БХВ — Санкт-Петербург,2000. — 512 с.:ил.
  22. Проектирование интерактивных Web-приложений: Учебное пособие — М.: Горячая линия,2001.—272 с.: ил.
  23. Сырых, Ю.А. Современный веб-дизайн. Рисуем сайт, который продает [Текст] / Ю.А. Сырых. – М.: – ООО «И.Д. Вильямс», 2008. – 304 с.
  24. Храмцов П.Б.Основы Web-технологий [Текст]: учебное пособие / П.Б. Храмцов, С.А. Брик, А.М. Руска, А.И. Сурин – 2-е изд., испр. – М: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. – 374 с.
  25. Шапошников И.В. Web-сайт своими руками. — СПб.:БХВ- Петербург, 2000. — 224 с.: ил.

Приложения

Запросы на добавление информации в базу данных

Клиентов

<?php

include "../inc/db_config.php";

if($_SERVER["REQUEST_METHOD"]=="POST"){

$surname = $_POST['surname'];

$name = $_POST['name'];

$fam_n = $_POST['fam_n'];

$Contacts = $_POST['Contacts'];

$Num_Clients = $_POST['Num_Clients'];

$sql_add = "INSERT INTO clients(Clients_surname,Clients_name,Clients_fam_name,Clients_Contacts,Num_Clients) VALUES ('$surname','$name','$fam_n','$Contacts','$Num_Clients')";

mysql_query($sql_add);

header("Location: cp_add_Clientss.php");

}

?>

?>

Заказов

<?php

include "../inc/db_config.php";

if($_SERVER["REQUEST_METHOD"]=="POST"){

$datepicker = $_POST['datepicker'];

$Num_Order = $_POST['Num_Order'];

$id_Clients = $_POST['Clients_surname'];

$id_Car=$_POST['CarМodel'];

// Прочитать из таблицы зввз

$sql_order = "SELECT * FROM `order` WHERE `Num_Order`='$Num_Order'";

$result_order = mysql_query($sql_order);

$rows_order = mysql_fetch_array($result_order);

// если есть этот ордер. То обновляем ее и перезаписываем его

if (!is_null($rows_order) and $rows_order)

{

$sql_order="UPDATE `order` SET `datepicker`='$datepicker',`Num_Order`='$Num_Order',`id_Clients`='$id_Clients',`id_Car`='$id_Car' WHERE `Num_Order`='$Num_Order'";

mysql_query( $sql_order);

}

else {

$sql_add = "INSERT INTO `autoservice`.`order` (`id`, `datepicker`, `Num_Order`, `id_Clients`, `id_Car`) VALUES (NULL, '$datepicker', '$Num_Order', '$id_Clients', '$id_Car')";

mysql_query($sql_add);

}

header("Location: cp_add_orders.php");

}

?>

Строк в табличную часть заказа «туристические услуги»

<?php

include "../inc/db_config.php";

if($_SERVER["REQUEST_METHOD"]=="POST"){

$id_Nomenclature = $_POST['nomenclature'];

$id_order = $_POST['Num_Order'];

$Quantity = $_POST['Quantity'];

$sql_pricelist = "SELECT * FROM pricelist WHERE id_Nomenclature='$id_Nomenclature'";

$result_pricelist = mysql_query($sql_pricelist);

$rows_pricelist = mysql_fetch_array($result_pricelist);

$Price =$rows_pricelist[Price];

$sum= $Price*$Quantity;

// Прочитать из таблицы список номенклатуры

$sql_listofitemsintheorders = "SELECT\n".

"listofitemsintheorder.Quantity,\n".

"listofitemsintheorder.Price,\n".

"listofitemsintheorder.sum\n".

"FROM\n".

"listofitemsintheorder\n".

"WHERE\n".

"listofitemsintheorder.id_Order = $id_order AND\n".

"listofitemsintheorder.id_Nomenclature = $id_Nomenclature";

$result_listofitemsintheorders = mysql_query($sql_listofitemsintheorders);

$rows_listofitemsintheorders = mysql_fetch_array($result_listofitemsintheorders);

// если строка есть. То обновляем ее и перезаписываем

if (!is_null($rows_listofitemsintheorders) and $rows_listofitemsintheorders)

{

$Quantity=$Quantity+$rows_listofitemsintheorders[Quantity];

$sum=$Price*$Quantity;;

$sql_listofitemsintheorders="UPDATE `listofitemsintheorder` SET `id_Order`='$id_order', `id_Nomenclature`='$id_Nomenclature',`Quantity`='$Quantity', `Price`='$Price', `sum`='$sum' WHERE `id_Order`='$id_order' and `id_Nomenclature`='$id_Nomenclature'";

mysql_query( $sql_listofitemsintheorders);

}

else {

$sql_add = "INSERT INTO listofitemsintheorder(id_Order,id_Nomenclature, Quantity, Price, sum) VALUES ('$id_order','$id_Nomenclature','$Quantity','$Price','$sum')";

mysql_query($sql_add);

}

header("Location: cp_edit_listofitemsintheorder_read.php?id_order=$id_order");

}?>

Прайс листа

<?php

include "../inc/db_config.php";

if($_SERVER["REQUEST_METHOD"]=="POST"){

$id_Nomenclature = $_POST['nomenclature'];

$Price = $_POST['Price'];

$sql_pricelist = "SELECT * FROM pricelist WHERE id_Nomenclature='$id_Nomenclature'";

$result_pricelist = mysql_query($sql_pricelist);

$rows_pricelist = mysql_fetch_array($result_pricelist);

// Прочитать из таблицы прайс

$sql_Nomenclature = "SELECT * FROM pricelist WHERE id_Nomenclature='$id_Nomenclature'";

$result_Nomenclature = mysql_query($sql_Nomenclature);

$rows_Nomenclature = mysql_fetch_array($result_Nomenclature);

// если цена есть. То обновляем ее и перезаписываем

if (!is_null($rows_Nomenclature) and $rows_Nomenclature)

{

$sql_pricelist="UPDATE `pricelist` SET `id_Nomenclature`='$id_Nomenclature',`Price`='$Price' WHERE `id_Nomenclature`='$id_Nomenclature' ";

mysql_query( $sql_pricelist);

}

else {

$sql_add = "INSERT INTO pricelist(id_Nomenclature,Price) VALUES ('$id_Nomenclature','$Price')";

mysql_query($sql_add);

}

header("Location: cp_add_pricelists.php");

}

?>

Страница отображения заказа

<?php

if(isset($_COOKIE['login'])&&isset($_COOKIE['pass'])){

include "cp_header.php"; //подключаем шапку

include "cp_left_menu.php"; //подключаем левое меню

$sql_nomenclature = "SELECT * FROM nomenclature";

$result_nomenclature = mysql_query($sql_nomenclature);

if (!is_null($_POST['Num_Order']) and $_POST['Num_Order'])

{ $Num_Order = $_POST['Num_Order'];

$sql_order = "SELECT\n".

"`order`.datepicker,\n".

"`order`.Num_Order,\n".

"`order`.id_Clients,\n".

"`order`.id_Car,\n".

"`order`.id,\n".

"clients.Clients_surname,\n".

"car.`CarМodel`\n".

"FROM\n".

"`order` ,\n".

"car ,\n".

"clients\n".

"WHERE\n".

"`order`.Num_Order = '$Num_Order' AND\n".

"`order`.id_Car = car.id AND\n".

"`order`.id_Clients = clients.id";

$result_order = mysql_query($sql_order);

$rows_order = mysql_fetch_array($result_order);

$id_Order =$rows_order[id];

}

else {

$id_Order = $_GET['id_order'];

$sql_Order = "SELECT\n".

"`order`.datepicker,\n".

"`order`.Num_Order,\n".

"`order`.id_Clients,\n".

"`order`.id_Car,\n".

"`order`.id,\n".

"clients.Clients_surname,\n".

"car.`CarМodel`\n".

"FROM\n".

"`order` ,\n".

"car ,\n".

"clients\n".

"WHERE\n".

"`order`.id = '$id_Order' AND\n".

"`order`.id_Car = car.id AND\n".

"`order`.id_Clients = clients.id";

$result_Order = mysql_query($sql_Order);

$rows_order = mysql_fetch_array($result_Order);

$Num_Order = $rows_order[Num_Order];

}

?>

<script>

// increase the default animation speed to exaggerate the effect

$.fx.speeds._default = 1000;

$(function() {

$( "#dialog" ).dialog({

autoOpen: false,

show: "blind",

hide: "explode"

});

$( "#opener" ).click(function() {

$( "#dialog" ).dialog( "open" );

return false;

});

});

</script>

<div id="center">

<h2>Внесение данных в БД</h2>

<div class="demo">

<div id="dialog" title="Добавить или редактировать услугу в заказе">

<p><form method="post" action="cp_add_listofitemsintheorder.php">

<p align="center">Номер заказа</p>

<p align="center"><select name="Num_Order">

<?php

echo "<option value='$id_Order'>$Num_Order</option>";

?>

</select></p>

<p align="center">Номенклатура:</p>

<p align="center"><select name="nomenclature">

<?php

while($arr = mysql_fetch_assoc($result_nomenclature)){

$nomenclature = $arr['Name'];

$id_Nomenclature = $arr['id'];

echo "<option value='$id_Nomenclature'>$nomenclature</option>";

}

?>

</select></p>

<p align="center">Количество</p>

<p align="center"><input type="text" size="20" name="Quantity"/></p>

<p align="center"><input type="submit" value="Добавить"/></p>

</form></p>

</div>

<p align="center"><a class="button orange" id="opener">Добавить услугу в заказ</a></p>

</div>

</div>

<?php

echo "<h3>Дата: $rows_order[datepicker]</h3>";

echo "<h3>Номер заказа: $rows_order[Num_Order]</h3>";

echo "<h3>Клиент: $rows_order[Clients_surname]</h3>";

echo "<h3>Модель автомобиля: $rows_order[CarМodel]</h3>";

?>

<p></p>

<div id="tabs">

<div style='overflow: scroll; height: 300px;'>

<?php

echo "<table id='table' bgcolor='white' width='100%'>";

echo "<tr><th bgcolor='#FAF3D2'>Номенклатура</th>";

echo "<th bgcolor='#FAF3D2'>Количество</th>";

echo "<th bgcolor='#FAF3D2'>Цена</th>";

echo "<th bgcolor='#FAF3D2'>Сумма</th>";

echo "</tr>";

$sql_listofitemsintheorder = "SELECT\n".

"listofitemsintheorder.Quantity,\n".

"listofitemsintheorder.Price,\n".

"nomenclature.`Name`,\n".

"listofitemsintheorder.sum\n".

"FROM\n".

"listofitemsintheorder\n".

"INNER JOIN nomenclature ON listofitemsintheorder.id_Nomenclature = nomenclature.id\n".

"WHERE\n".

"listofitemsintheorder.id_Order = '$id_Order'";

$result_listofitemsintheorder = mysql_query($sql_listofitemsintheorder);

while($rows_listofitemsintheorder = mysql_fetch_array($result_listofitemsintheorder)){

echo "<tr><th align='left' bgcolor='#cee2d3'>$rows_listofitemsintheorder[Name]</th>";

echo "<th bgcolor='#cee2d3'>$rows_listofitemsintheorder[Quantity]</th>";

echo "<th bgcolor='#cee2d3'>$rows_listofitemsintheorder[Price]</th>";

echo "<th bgcolor='#cee2d3'>$rows_listofitemsintheorder[sum]</th>";

echo "</tr>";

}

?>

</table><br>

</div>

</div>

</div>

<?php

include "../inc/footer.php"; //подключаем "подвал"

}else{

?>

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

<title>Панель управления</title>

<div id="auth_login_form">

<div>

<form method="post" action="login.php">

<h3>Вход в Админпанель</h3>

<p>Введите логин и пароль</p>

<p>Логин: <input type="text" name="login" /></p>

<p>Пароль:<input type="password" name="pass" /></p>

<p><input type="submit" value="Вход"/></p>

</form>

</div>

</div>

<?php

exit;

}

?>