Выбор категорий для контента на сайте (PHP/mySQL)

Sanu0074
На сайте с 31.08.2012
Offline
110
704

Я делаю редактор контента в админке (самопальная кмс), столкнулся с потребностью выбирать категории для элементов. Сделал несколько таких видов, можно дать элементу несколько категорий, также категорией элемента в таком случае может быть какое-то свойство других элементов, например элементу из группы "шары" мы можем дать категорию-свойство - цвет - группы элементов "карандаши". Но, есть еще один случай, когда дерево админ может сам выстроить, и получится что у каждого элемента в этом дереве будут свойства: id,name,group,parent_id. Проблема заключается в том, что при добавлении такого поля к элементу контента (у него свойство group такое-же как и в дереве категорий), появляется список выбора таких категорий (<select>), при выборе (onchange) посылаем запрос на сервер с ID выбранной категории, чтобы проверить есть ли в дереве категорий строка у которой parent_id равен присланному ID и с таким group. Если есть выгружаются данные найденных категорий и строится рядом еще один <select> с ними. Здесь плохо то что нужно слать много запросов при выборе туда-сюда этих категорий. Я вообще подозреваю что леплю какой-то ужасный велик! Я бы хотел чтобы это дерево выгружалось сразу полностью, и можно было без всяких запросов делать выбор между категориями и под-категориями. Как это сделать? Дайте дельный совет пожалуйста.

M
На сайте с 04.12.2013
Offline
223
#1

По вашему описанию трудно сориентироваться. У меня категории одновременно являются подкатегориями категории «Категории». Поэтому работа с категориями происходит практически так же, как и с подкатегориями.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
domen4you
На сайте с 08.03.2013
Offline
53
#2

наверное поймут только настоящие профи)

Mad_Man
На сайте с 10.11.2008
Offline
162
#3
Sanu0074:
Я делаю редактор контента в админке (самопальная кмс), столкнулся с потребностью выбирать категории для элементов. Сделал несколько таких видов, можно дать элементу несколько категорий, также категорией элемента в таком случае может быть какое-то свойство других элементов, например элементу из группы "шары" мы можем дать категорию-свойство - цвет - группы элементов "карандаши". Но, есть еще один случай, когда дерево админ может сам выстроить, и получится что у каждого элемента в этом дереве будут свойства: id,name,group,parent_id. Проблема заключается в том, что при добавлении такого поля к элементу контента (у него свойство group такое-же как и в дереве категорий), появляется список выбора таких категорий (<select>), при выборе (onchange) посылаем запрос на сервер с ID выбранной категории, чтобы проверить есть ли в дереве категорий строка у которой parent_id равен присланному ID и с таким group. Если есть выгружаются данные найденных категорий и строится рядом еще один <select> с ними. Здесь плохо то что нужно слать много запросов при выборе туда-сюда этих категорий. Я вообще подозреваю что леплю какой-то ужасный велик! Я бы хотел чтобы это дерево выгружалось сразу полностью, и можно было без всяких запросов делать выбор между категориями и под-категориями. Как это сделать? Дайте дельный совет пожалуйста.

Эм. Таблица на три поля: id, parent_id, name.

Sanu0074
На сайте с 31.08.2012
Offline
110
#4

Mad_Man, это пример

Mad_Man
На сайте с 10.11.2008
Offline
162
#5
Sanu0074:
Mad_Man, это пример

Тогда в чём конкретно заключается проблема пересобирать деревья на основе полного списка категорий и зачем постоянно досылать куда-то запросы?

Sanu0074
На сайте с 31.08.2012
Offline
110
#6

Mad_Man, о том, как наилучшим способом это делать?

Coolmac
На сайте с 08.09.2011
Offline
60
#7

Sanu0074, как-то заумно все. Зачем постоянно дергать что-то откуда-то? Выгрузите сразу все, скройте что не нужно и показывайте нужные select по onchange или как там надо с помощью javascript.

Доступные vps/ds с грамотной тех. поддержкой (https://my.friendhosting.net/pl.php?11304)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий