- •1. Постановка задачи
- •2. Обзор существующего по
- •3. Проект
- •3.1. Построение таблицы на основе данных из базы данных
- •3.2. Сортировка
- •3.4. Выпадающие списки
- •3.5. Интерактивное асинхронное обновление данных в таблице
- •4. Реализация
- •4.1. Средства реализации
- •4.2. Входные данные
- •4.3. Результат
- •Заключение
- •Список литературы
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВЛАДИВОСТОКСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ЭКОНОМИКИ И СЕРВИСА
КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И СИСТЕМ
Отчет
по летней учебной практике
студента группы БИС-13-01
Иванова А. А.
Руководитель:
доцент кафедры ИТС
к.т.н. Федорищев Л. А.
Владивосток, 2016
1. Постановка задачи
1) Cоздать интернет-страничку, которая будет отображать таблицу имеющихся в базе данных товаров. Таблица должна содержать все указанные во входных данных поля, кроме идентификатора. Вместо url-картинки надо отображать саму картинку.
2) Таблица должна иметь возможность сортировки по столбцам.
3) Таблица должна иметь Client-side Pagination – разбивку на «страницы» на клиентской стороне.
4) Пользователю необходимо предоставить возможность получения товаров только выбранного типа – сделать для этого выпадающий список.
5) Таблица должна поддерживать интерактивное редактирование информации. В результате редактирования какого-либо поля в таблице на сервер должен отправляться AJAX-запрос на асинхронное обновление соответствующих данных в таблице на сервере.
Для создания таблицы воспользоваться одной из существующих javascript-библиотек.
Для создания каталога товаров использовать следующие входные данные:
На сервере в базе данных есть 1 таблица: Goods (товары)
Таблица Goods имеет 6 полей: id – идентификатор товара, name – название товара, image – ссылка на файл фотографии товара, type – тип товара, desc – описание товара, cost - цена.
В базе данных должно храниться минимум 7 различных товаров.
2. Обзор существующего по
Каталог товаров – это, по сути, таблица с различными интерактивными функциями.
Поэтому нам понадобится удобный инструмент-библиотека для быстрого создания html-таблиц.
На сайте https://www.sitepoint.com/30-amazing-jquery-tables/ представлен внушительный список Javascript-библиотек – плагинов для JQuery. Существуют и «чистые» Javascript-библиотеки для представления таблиц: http://www.hotscripts.com/blog/15-javascript-data-grids-enhance-html-tables/
Все эти библиотеки предлагают различные возможности и условия использования. Рассмотрим некоторые из предложенных сегодня на рынке библиотек для создания таблиц.
1) dhtmlxGrid
Рис. 1. Пример таблицы, сделанной с помощью dhtmlxGrid
dhtmlxGrid - это основанный на Ajax JavaScript-табличный компонент, поддерживающий данные в различных форматах, включая XML, JSON, CSV, HTML-таблицы и даже пользовательский XML формат. Пример таблицы, сделанной с помощью этой библиотеки представлен на рис. 1.
2) EditableGrid
Отличная OpenSource библиотека для создания таблиц (см. рис. 2).
Рис. 2. Пример таблицы, сделанной с помощью EditableGrid
3) Jqx-Widgets
Jqx-Widgets . Это богатая библиотека различных интерфейсных виджетов, сделанная как плагин к JQuery (см. рис. 3).
Рис. 3. Jqx-Widgets
4) JQuery Easy-UI
JQuery Easy-UI . Эта библиотека - коллекция различных интерфейсных элементов, сделанная как плагин к JQuery. Данная библиотека обеспечивает достаточно богатую функциональность, включая современный вид, интерактивность, множество настроек. Данная библиотека является бесплатной.
На рисунке 4 представлена типовая интерактивная таблица, которая может быть сделана с помощью данной библиотеки.
Рис. 4. Datagrid в библиотеке JQuery Easy-UI
Проведенный анализ существующих библиотек для разработки интернет-таблиц показал, что на сегодняшний день существует огромное множество различных Javascript-библиотек, позволяющих значительно упростить создание сложных интерактивных таблиц. Многие из них обладают подходящими для нашей задачи возможностями и при этом являются бесплатными. Для решения нашей задачи была выбрана библиотека JQuery-Easy-ui, по следующим причинам:
1) Богатство возможностей (и не только для работы с таблицами, но и для работы с другими интерфейсными элементами)
2) Явная возможность легко выполнить приведенные задачи в постановке: наличие Client-side pagination, сортировка, интерактивное изменение ячеек таблицы.
3) Большой выбор работы с данными для таблиц, которые можно формировать многими способами.
4) Библиотека является бесплатной и доступной для скачивания.
5) Среди прочих факторов, важным также является наличие опыта работы с данной библиотекой.
