![]() |
|
Модераторы: skyboy |
![]()
|
|
| DDeath |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
Привет ! У меня есть вопрос насчёт дерева NESTED SETS
Вот пример дерева: ![]() + В моей таблице есть колонка `parent` У меня есть список открытых ветвей .. но он не непрерывный ... тоесть ветвь родитель может быть закрыта. Вот пример : id: (5,3,4,7) - Открытые ветви ... но ветвь родитель 5ой ветви(id = 5) не включена в данный список а значит закрыта(id=2). Мне нужно выбрать конкретные ветви id : (2,3,4) а также их непрерывные ответвления .. тоесть id : (6,7,12,13,14,8,9) но у меня ничего не выходит ... на выходе должны быть id :(2,3,6,7,12,13,14,8,4,9) Это сообщение отредактировал(а) DDeath - 13.4.2012, 15:08 |
|||
|
||||
| DDeath |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
у меня в базе хранится дерево сайтов / подсайтов
я организовал Tree View на JQuery тоесть можно открывать ветки и смотреть подсайты у сайта ... но если обновить страницу все открытые ветки понятное дело закрываются.. я решил хранить id открытых веток в Cookies .. id: (5,3,4,7) - открытые ветки ... то-есть Id (веток / сайтов) открытых и тем самых занесёных в cookies... теперь я хочу обработать эти id и выбрать их из БД для сохранения Tree View Это сообщение отредактировал(а) DDeath - 13.4.2012, 16:31 |
|||
|
||||
| DDeath |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
PHP берёт из кукисов открытые ветки и выводит на экран уже всё в открытов виде..
но это не дело т.к это работает в цикле .. а я хотел это дело оптимизировать .. мне нужно выбрать запросом закрытые и открытые ветки и вывести всё это дело на экрн как и я написал выше .. вот как этосейчас работает .. примерно ..
Вот так вот примерно всё работает .. но как видите запрос тут в цикле а это не есть гуд .. Как выбрать всё.. вместе с открытыми ветками одним-двумя запросами .. ? Зарание спасибо! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
раз. разворачивать на стороне клиента. ну, правда, все равно дерево строится при помощи jQuery на клиенте, разве нет?
два. не надо хранить все открытые. в твоем примере нет смысла хранить и 3, и 7. все равно для "открытия" 7 придется "открыть" 3. |
|||
|
||||
| DDeath |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.7.2008 Репутация: нет Всего: нет |
1.Дерево строится с помощью php а jquery всего-лишь посредник т.к ветки подгружаются Ajax'ом
2.Вы не сосвсем правы .. скажем если 5ая ветка будет открыта а 2ая закрыта .. то по вашей логике скрипт на сильно откроет 2ую. а должно быть по другому .. 2ая будет закрыта.. но если пользователь откроет 2ую ветку .. 5ая уже будет открыта .. так и с 3 и 7... есл не хранить 3ойку то скипт посчитает что 3ия ветка закрыта и не станет открывать .. а будет ждать пока пользователь откроет что-бы открыть также 7ую п.с у меня уже всё есть всё работает вот только это всё не оптимизировано=\\ Это сообщение отредактировал(а) DDeath - 14.4.2012, 11:27 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |