Как сделать пагинацию с работающей сортировкой (по возрастанию/убыванию по алфавиту, дате...)? Отдельно сортировка и пагинация работают, вместе только на первой странице, дальше сортировка сбрасывается (устанавливается по дефолту).
Вам нужно указывать в адресах других страниц списка не только их номера, но и требуемый тип сортировки. Вы используете G-Drive?
Добавлено. В общем в G-Drive можно завести в таблице категорий специальное поле sort и сохранить в нем фрагменты текста запроса, определяющие все возможные типы сортировки:
id
...
sort
module
...
`name` ASC
list
sort-by-name-desc
...
`name` DESC
list
sort-by-date
...
`date` ASC
list
sort-by-date-desc
...
`date` DESC
list
В тексте запроса нужно сделать соответствующую вставку:
... ORDER BY {$page['sort']} ...
А при формировании ссылок указать текущий идентификатор:
Также вместо поля sort можно использовать ассоциативный массив, индексируемый значениями поля id.
Я знаю, что это тема уже обсуждалась, но всё равно не знаю, как это сделать. Пытаюсь реализовать галерею по примеру выше, чтобы на первой странице было всего две картинки, а на каждой последующей по четыре, и столкнулся с такой проблемой, что последняя страница не появляется до тех пор, пока на ней не будет больше двух картинок. Видимо, проблема со смещением картинки. Просто если $xpp поставить 0, то работает как надо. Как сделать правильно расчет, чтобы последняя страница появлялась сразу, если в неё попадёт хотя бы одна картинка?
Как сделать пагинацию с работающей сортировкой (по возрастанию/убыванию по алфавиту, дате...)? Отдельно сортировка и пагинация работают, вместе только на первой странице, дальше сортировка сбрасывается (устанавливается по дефолту).
Вам нужно указывать в адресах других страниц списка не только их номера, но и требуемый тип сортировки. Вы используете G-Drive?
Добавлено. В общем в G-Drive можно завести в таблице категорий специальное поле sort и сохранить в нем фрагменты текста запроса, определяющие все возможные типы сортировки:
В тексте запроса нужно сделать соответствующую вставку:
А при формировании ссылок указать текущий идентификатор:
Также вместо поля sort можно использовать ассоциативный массив, индексируемый значениями поля id.
Я знаю, что это тема уже обсуждалась, но всё равно не знаю, как это сделать. Пытаюсь реализовать галерею по примеру выше, чтобы на первой странице было всего две картинки, а на каждой последующей по четыре, и столкнулся с такой проблемой, что последняя страница не появляется до тех пор, пока на ней не будет больше двух картинок. Видимо, проблема со смещением картинки. Просто если $xpp поставить 0, то работает как надо. Как сделать правильно расчет, чтобы последняя страница появлялась сразу, если в неё попадёт хотя бы одна картинка?
Вот код:
Да, в первом комментарии, касающемся $xpp, я не все упомянул. Посмотрите этот комментарий и следующий за ним с моим ответом.
Для ceil попробуйте сделать так (только $xpp определите до этой команды):