За последние 24 часа нас посетили 73716 программистов и 10145 роботов. Сейчас ищут 2786 программистов ...

Древовидное меню из двух таблиц

Тема в разделе "PHP для новичков", создана пользователем Lesovsky, 30 авг 2017.

  1. Lesovsky

    Lesovsky Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    4
    Симпатии:
    0
    Приветствую!
    Встала задача организовать древовидное меню (как в любой справке). На существующем проекте, есть две таблицы, имеющие структуру:

    сategories


    category_id - primary id
    category_name
    category_parent_id - id родительской категории

    records

    record_id - primary id
    record_name
    category_id - id категории
    record_parent_id - id родительской записи


    Организовать дерево из таблицы сategories через рекурсию (например как в одном из примеров) проблем не составило:

    Категория 1
    - Подкатегория 1
    - - Подкатегория 1.1
    Категория 2
    - Подкатегория 2
    - - Подкатегория 2.1
    - - Подкатегория 2.2

    А вот включить records - проблема. Структура должна получиться следующая:

    Категория 1
    - Подкатегория 1
    - - Подкатегория 1.1
    - - - Запись 1.1.1
    - - - - Подзапись 1.1.1.1

    Категория 2
    - Подкатегория 2
    - - Подкатегория 2.1
    - - - Запись 2.1.1
    - - - Запись 2.1.2
    - - Подкатегория 2.2

    Спасибо!
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.971
    Симпатии:
    753
    У записи должна быть родительская категория и не должно быть родительской записи.
    У подзаписи должна быть родительская запись и не должно быть родительской категории.
    А что за подзаписи? зачем?
     
  3. Lesovsky

    Lesovsky Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    4
    Симпатии:
    0
    Аналог меню как здесь - https://docs.tibco.com/pub/spotfire_web_player/6.5.0/doc/html/ru_RU/index.html
    И на примере аналога, у Записи Панели и всплывающие панели, есть Подзапись - Совместная работа
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.971
    Симпатии:
    753
    Это не подзапись, а дочерняя запись категории.
    Выводишь с начала дочерние категории и потом дочерние записи. Не надо ничего мудрить.
     
    Lesovsky нравится это.