Это обычная вещь: у вас есть список предметов с несколькими атрибутами. Вы можете:
- сортировка списка по каждому из атрибутов в порядке возрастания и убывания.
- фильтр (поиск) элементов, опять же по всем атрибутам
- переходить между разными страницами результатов
Все это дает вам различные параметры для данной страницы:
- атрибут сортировки и порядок сортировки
- пары имен атрибутов и значений для фильтрации
- номер страницы
Как вы справляетесь с распространением всех этих параметров между вашими страницами? Допустим, вы можете редактировать один элемент, и когда вы вернетесь назад, вы захотите перейти на ту же страницу, где вы.
Вы просто помещаете все параметры в URL (и передаете их как «возвращаемые параметры» на страницу редактирования)? Вы помещаете некоторые в сессию (возможно, сортируете и фильтруете параметры)?