Постраничная навигация (Сортировка по дате и времени)

Есть сайт со статьями. Статьи добавляются на сайт через админ панель. При создании администратор может указать любую дату и время публикации статьи. Таблица статей выглядит следующим образом:

Таблица статей

Как можно увидеть из изображения выше, в содержимом таблицы присутствуют статьи, опубликованные в один и тот же день, но в разное время.

На самой странице вывода статей, сейчас реализована постраничная навигация на php. Для каждой страницы сейчас выводятся по пять статей используя следующий запрос:

SELECT * FROM articles ORDER BY date, time LIMIT $start, $finish
  • GET параметр $_GET['p'] - хранит номер текущей страницы
  • $start - хранит точку начала отсчета строк в таблице и рассчитывается так: ($_GET['p'] * $finish) - $finish
  • $finish - Хранит количество отображаемых статей на странице (В данном случае пять)

Необходимо сделать так, чтобы самые старые (по дате) статьи оказались на самой последней странице. С использованием LIMIT в SQL запросе добиться этого не получается, так как он будет сортировать по дате и времени полученные пять строк для конкретной страницы.

Есть ли для этого какое либо решение на PHP + SQL? Или все же необходимо вывести все статьи без LIMIT, а уже потом обработать постраничную навигацию на frontend, например с помощью JS (включать/отключать отображение нужному кол-во статей).


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

Автор решения: Chupaka

Необходимо заменить

ORDER BY date, time

на

ORDER BY date DESC, time DESC

Тогда статьи будут отсортированы в обратном порядке.

→ Ссылка