Задать вопрос
polyanin
@polyanin
Golang, PHP & Symfony developer

Как вывести любую часть древовидного списка?

Приветствую!
Данные хранятся в mysql в виде таблицы id, parent_id, name
где parent_id ссылка на родителя, также parent_id может быть равен нулю
Информация выводится в виде такого дерева (см. рис.)
64211c1c1cfed946842100.png
Элементы в пределах своей ветки сортированы по id

Как вывести список, изображенный на рисунке, постранично?
т.е. именно в том порядке, как нарисовано, но например по 10 строк
без загрузки всего дерева

пример:
страница 1
64211dd9daa93456467918.png
страница 2
64211de26e85e013799901.png
  • Вопрос задан
  • 97 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега MySQL
Для реализации этой задачи хорошо подходит хранение в виде Nested Set. Хранение в виде Adjacency List подразумевает рекурсию и полную выборку.

Но самое простое решение в данном случае - просто закешировать отсортированную выборку, не меняя хранение, и резать для пагинации уже её.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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