API, как узнать страницу, где расположен элемент?

Всем привет. Возможно я неправильно задал вопрос. Поясню.
У меня есть API (python) + Фронт (VUE). Есть пагинация. Стоит задача, открыть список работников, и выделить определенного работника. Для этого мне нужно знать на какой странице окажется этот работник, как это делается?
Или еще пример, поиск сообщения но форуме, как узнать на какой странице форума, окажется сообщение.
Я вижу только одно решение, получение списка всех записей из БД, и простой перебор всех строк. Когда найдется требуемый ID, вернуть номер строки.
  • Вопрос задан
  • 287 просмотров
Решения вопроса 2
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
В общем случае у вас есть сортировка по какому-то полю, вам нужно запросом получить количество записей с условием соотвествующем сортировке и направлению и значением меньше/больше искомой записи. Звучит сложно, поясню на примере. Если у вас сортировка по id - то нужен id искомой записи и запрос вида where id < id_искомая ORDER BY id ASC|DESC, если по дате - то where date < date_искомая ORDER BY date ASC|DESC
т.е. вам надо найти количество записей в вашей таблице до искомой. Ну а зная размер страницы - можно найти на какой странице будет ваша искомая запись.
Ответ написан
@Nolan81
программист
Александр Рублев, при сортировке по фамилии будет так:
select count(id) from users where (surname < :surname) OR ((surname = :surname) AND (id < :id)) order by surname, id

, тут учитывается и то что будут одинаковые фамилии.
Узнаете кол-во ДО, соответственно узнаете и номер нужной вам страницы, и пойдет обычный пагинаторский запрос на нужную страницу - offset, limit
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы