Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

7.2 Комплексный пример работы приложения с использованием php и субд HyTech Описание сценария взаимодействия с пользователем

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

  • При входе в приложение отображается форма ввода имени пользователя, пароля и строки соединения с БД (форма регистрации).

  • После подтверждения ввода имени пользователя, пароля и строки соединения с БД выполняется попытка соединения с БД, в случае ошибки предлагается ввести имя пользователя, пароль и строку соединения с БД повторно. Форма регистрации также отображается в случае истечения сессии работы пользователя с системой (например, по тайм-ауту) или при наличии ошибки соединения с БД при очередном запросе (например, был остановлен сервер БД).

  • В случае успешного соединения с БД отображается форма со списком таблиц (форма выбора), из этого списка предлагается выбрать таблицу для просмотра.

  • После выбора таблицы отображается форма со списком строк таблицы (форма просмотра) и кнопками «Добавить строку», «Изменить строку», «Удалить строку», «Выбрать таблицу повторно». При нажатии кнопки «Выбрать таблицу повторно» происходит возврат к форме выбора.

  • При нажатии кнопки «Удалить строку» отображается форма, в которой требуется подтвердить удаление. При подтверждении удаления выполняется удаление строки из БД. Далее происходит возврат в форму просмотра.

  • При нажатии в форме просмотра кнопок «Добавить строку» или «Изменить строку» выполняется переход к форме редактирования. При нажатии кнопки «Сохранить» выполняется сохранение данных в БД (либо добавление, либо изменение). При успешном сохранении выполняется возврат в форму просмотра, при ошибке – предлагается ввести данные в форме редактирования повторно. Форма  редактирования содержит кнопки «Сохранить» и «Отмена». При нажатии кнопки «Отмена» происходит возврат к списку строк (в случае кнопки «Добавить строку» эта форма будет содержать пустые поля, в случае кнопки «Изменить строку» поля этой формы будут заполнены реальными значениями из редактируемой строки таблицы).

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

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

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

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

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

  • При редактировании строки в качестве элемента редактирования всегда используется текстовое поле вне зависимости от типа поля в БД.

  • При выборке данных для отображения в виде таблицы задано максимальное количество результирующих строк – 1000. Разбиения на страницы для удобства просмотра строк при этом не производится.