Я собираюсь воздержаться от публикации своего массивного блока кода и просто начать именно то, к чему я прибил выпущенный.
Я выполняю этот запрос:
...
SELECT id, Title, images, recdate, 'item' AS type
FROM ads_list
WHERE to_days(now())<= (to_days(recdate)+14)
ORDER BY recdate DESC
LIMIT $offset, $listsperpage
...
Это для сценария нумерации страниц. My $ offset - это просто счет текущей позиции записи, а для $ listsperpage задано произвольное число для страниц (и установлено значение 24). Так что на странице должно быть 24 результата ...
Все работает отлично, ЗА ИСКЛЮЧЕНИЕМ, когда я запускаю свой запрос в DESC с помощью сортировки по повторным датам, в моем массиве на первой странице выводится только 23 записи ??
И если я запускаю с сортировкой ASC, есть 24 записи, которые отображаются, как и ожидалось, на каждой странице.
Мое поле recdate отформатировано так:
2012-01-14 07:10:33
2012-01-14 07:10:35
2012-01-14 07:10:38
2012-01-14 07:10:30 ...
Я также попытался выполнить сортировку DESC по id (авто), и все же первый массив результатов содержит только 23 записи, но все массивы - это ожидаемые записи.
Я обнаружил, что «отсутствующая» запись из первого результата фактически выдвинута вперед, так что, как будто в результатах с помощью DESC просто разрыв. И этот массив полностью выдвигается на последнюю страницу результатов. Таким образом, все элементы сдвигаются на один слот, как кажется.
Я не хотел публиковать весь свой блок кода, потому что это очень много, и я потратил несколько часов на тестирование и тестирование вариантов своего кода, поэтому я действительно думаю, что это как-то связано с сортировкой SQL.
Я просто не вижу, чтобы мой DESC вызывал эту странность, и сортировка ASC показывается как обычно.