Корпоративные системы.

Лабораторная работа №2. «Использование механизма сессий в PHP»

Задание:

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

Фильтрацию по всем возможным полям в таблице в зависимости от формата данных:
    Для текстовых полей — фильтр по введенному значению как часть строки; Для полей типа дата или время — совокупность выпадающих списков (День, Месяц, Год  —  для даты, Час, Минута, Секунда — для времени). По умолчанию поля фильтра устанавливаются в позицию «Все», что означает отсутствие фильтрации по данному полю. Для полей, представляющих собой данные из других таблиц — выпадающий список со всеми возможными значениями. По умолчанию поля фильтра устанавливаются в позицию «Все», что означает отсутствие фильтрации по данному полю.
Сортировку по любому из полей таблицы с указанием  направления сортировки (по возрастанию или по убыванию) при этом поле, по которому осуществляется фильтрация должно подсвечиваться другим цветом в шапке таблицы. Формирование параметров постраничного вывода результатов запроса с выбором количества выдаваемых строк и количества закладок на одной странице.

       

       

Дополнительные требования:

В зависимости от желания пользователя панель настройки может быть отражена на странице или нет. Состояние ЕСТЬ/НЕТ для каждой страницы также должно сохраняться в переменных сессии. Параметры панели настройки должны сохраняться в переменных сессии и при переходе с одной страницы на другую не теряться, например, если для первой таблицы пользователь решил установить фильтр по полю «Фамилия» и ввел  в поле значение «Иван» и получил список всех фамилий, которые начинаются на сочетание этих букв, то после обновления страницы значение в поле фильтра должно сохраняться и содержать те же самые символы (в данном примере «Иван»). Это относиться ко всем полям фильтрации, сортировки и параметров вывода. Панель информатора должна отображать установленные фильтры и их значения, например, выводить, что включена фильтрация по полю «Фамилия», значение «Иван» и т. п. Если результаты запроса разбиты на несколько страниц, то при выборе конкретной страницы, она также сохраняется в переменных сессии. Панель настройки должна иметь кнопку «Очистить», которая приводит состояние всех полей фильтрации в начальные значения. Интерфейс системы, как и данные, содержащиеся в таблицах,  должны быть русифицированными. Наполнение таблиц должно быть осознанным (наполнение полей, содержащих графическую информацию на данном этапе не нужно). Дизайнерское оформление приветствуется

Требования для сдачи лабораторной работы:

Демонстрация работы реализованной вами системы. Авторство Теория по проектированию таблиц и синтаксису Smarty. Оформление и представление письменного отчета по лабораторной работе, который содержит: Титульный лист Задание на лабораторную работу ER-диаграмму БД Листинг программы

Пример интерфейса системы: