Form - сортировка

Комментарии ()

 

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

Как и фильтр, сортировка  характеризуется названием формы (для каждой формы своя сортировка $_SESSION['form_sort']['{name}']). Данные сортировки хранятся в сессии ($_SESSION['form_sort']['{name}']=array(key=>value), где key - название поля в таблице БД по которому необходимо сортировать,  value - принимает значение up или down, тем самым указывая порядок сортировки.), что дает возможность сохранять работоспособность сортировки, даже при перезагрузке страницы. 

html

<th>Логин
<i class="icon-arrow-up form_sort" data-form="users" 
data-sort-field="login" data-sort-type='up'></i>
<i class="icon-arrow-down  form_sort" data-form="users" 
data-sort-field="login" data-sort-type='down'></i></th>

ТЗ

  • При нажатии на некий елемент, необходимо установить значения сортировки: 
    1) название формы, для которой выполняем сортировку
    2) название поля, по которуму будет выполнена сортировка
    3) задать тип сортировки (up|down)
    Далее перегрузить страницу
  • Выделять активный елемент сортировки (на который мы нажали), дабы было ясно, по какому полю и типу выполнена сортировка

Требования к елементу сортировки (например тег i):

  • должен принадлежать классу form_sort
  • должен иметь следующие data-атрибуты:
    1) data-form - название формы, для которой выполняем сортировку
    2) data-sort-field - название поля таблицы БД, по которому выполнять сортировку. Название таблицы не указываем, так как это не нужно. Выборка из таблицы выполняется скриптом вывода информации. Сортировка же, как дополнительный функционал
    3) data-sort-type - тип сортироки, по возростанию или по убыванию (up|down).

Алгоритм работы:

  • При нажатии на елемент сортировки выполняется ajax-запрос form_set_sort. Если удачно, то задаються данные сортировки, которые хранятся в сесиях :
    $_SESSION['form_sort']['{name}']['field'] - название поля сортировки
    $_SESSION['form_sort']['{name}']['type'] - тип сортировки (up|down)
    Далее выполняется перезагрузка страницы


Webit.in.ua 2013