Вывод информации из БД при прокрутке страницы

Рейтинг: 0Ответов: 0Опубликовано: 29.06.2023

Помогите разобраться с выводом из БД. Есть таблица test. В таблице есть 30 записей и первоначально выводится 10 последних записей

message 21
message 22
message 23
message 24
message 25
message 26
message 27
message 28
message 29
message 30

При прокрутке страницы пытаюсь получить предыдущие записи в количестве 10 штук:

Ожидается получить следующий вывод над сообщением message 21

message 11
message 12
message 13
message 14
message 15
message 16
message 17
message 18
message 19
message 20

А получаю в действительности такой

message 20
message 19
message 18
message 17
message 16
message 15
message 14
message 13
message 12
message 11

Сам запрос к БД PDO выглядит так

$res = $db->prepare("SELECT * FROM (SELECT * FROM `test` WHERE `id` < ? ORDER BY `id` DESC LIMIT 10) s ORDER BY `id` ASC");
$res->execute([$_POST["id"]]); // в $_POST["id"] передается id первого сообщения (в нашем случае это message 21)
while ($record = $res->fetch(PDO::FETCH_ASSOC)){
  $arr[] = $record;
}
return array_reverse($arr);

Если я запрос делаю в phpmyadmin

SELECT * FROM (SELECT * FROM `test` WHERE `id` < 21 ORDER BY `id` DESC LIMIT 10) s ORDER BY `id` ASC

То вывод показывает как нужно.

Что я делаю не так?

Ответы

Ответов пока нет.