Слетает фильтр при клике на другую страницу пагинации

После выбора фильтра, формируется новая пагинация (с правильным числом страниц), однако по клику на любую следующую страницу отфильтрованных элементов фильтр слетает и выводятся все элементы из БД, а не те, которые выбрал фильтром. Нужно как-то обновить ссылки пагинации? Или что можно сделать?

Вот класс пагинации.

Посмотреть и подсказать)))

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


Ответы (2 шт):

Автор решения: Денис

Общее решение - вам надо добавлять параметры фильтрации в url при ajax-запросе, и обновлять пагинацию, с помощью того-же jQuery:

$.ajax({
url: 'ajax/some.php',
success: function(data){
  history.pushState('data', '', 'https://site.ru/?q='+query);
    ...
  $(".pagination-item").attr('href', window.location.href + "&page"+index);
   ...
}});
→ Ссылка
Автор решения: Michael Miller

Вопрос решен.

Все что нужно было сделать это добавить на страницу, на которой выводятся данные php код, который берет гет параметры и на их основе строит запрос к БД. Например если есть

?price=100 или ?price=100&color=red, то строить запрос

SELECT * FROM table WHERE price = '100' AND color = 'red';

→ Ссылка