![]() |
![]() |
ВпертийХохол 02.06.2004 - 17:35 |
Не знаю на скоько понятно смогу сформулировать вопрос - но думаю так: Есть база. В базе справочник товаров в виде дерева рубрик, типа: Продукты питания - Молочные продукты - Молоко ... Нужно организовать доступ к "дереву" по типу проводника. Возможно ли такое - если да - то плз подскажите. |
Cool 1 - 02.06.2004 - 19:43 | Возможно, от чего нет? Вперемешку на JS и каком-нибудь серверном языке |
ВпертийХохол 2 - 02.06.2004 - 20:35 |
1. Ну в принципе я понимаю - что с помощью различных языков программирования можно сделать чтобы и "он" и "она" были сверху. Вопрос только на каком из языков остановиться? |
Cool 3 - 02.06.2004 - 20:37 | Лично я бы в качестве сервеного языка использовал PHP, так как знаю его хорошо. |
Deflorator 4 - 02.06.2004 - 20:58 | а в качестве JS я бы использовал ЯваСкрипт по той же причине, что и Кул - пхп :) |
kubanoid 5 - 02.06.2004 - 21:20 | этта всё понятно. А вот вопрос тэкскэть на понимание - строить ли рекурсию на стороне сервера или клиента? Какие выскажутся предпочтения? |
Deflorator 6 - 02.06.2004 - 21:27 | ну, "дерево" твое на сервере - следовательно, и обработка его там же... |
Auximen 7 - 02.06.2004 - 21:29 | Есть готовые компоненты, ищи. В т.ч. смотри RSDN в файлах или скриптах. |
kubanoid 8 - 02.06.2004 - 22:03 | тут ведь вот в чём вопрос- если строить дерево на сервере, то не получается быстрого ползанья по дереву по причине постоянной перезагрузки страниц при переходе с уровня на уровень(раскрыть-закрыть), если мы говорим о "по типу проводника". |
ВпертийХохол 9 - 02.06.2004 - 23:23 | Спасибо kubanoid, поддерживаешь разговор вместо меня - а то у меня нет возможности сейчас часто заходить на форум. Но все же - может кто писал подобное и сможет поделиться скриптиком. Адрес под НИКом. А за одно и советом - как для этого лучше сконфигурировать базу? |
kubanoid 10 - 03.06.2004 - 00:33 |
нет нет, погодите, как это скриптиком поделиться? Давайте придём к консенсусу. такэ я писал и скриптик имеется, но тока для обычного двухуровнево-выпадающего меню. а вот как ЛУЧШЕ сделать и именно в виде стандартного проводника тоже для меня жлободневный вопрос. Если сделать на стороне сервера, то просто в реализации, но сложно в использовании, напр. перезагрузка страницы при выпадании, но ещё и отслеживание раскрытых-скрытых веток, что превращается в гемор и лишнюю нагрузку на БД. Если передавать массивы в JS и строить на стороне клиента, то возникает гемор с кучей вложенных слоей. Или не возникает? Какие мнения? по поводу конфигурации БД - ID и parent_ID по которым вся рекурсия и строится, можно ещё LEVEL, но не обязательно |
Auximen 11 - 03.06.2004 - 01:04 | Ребята? Читать умеем? Или за вас надо идти и брать ссылку? Сказал же RSDN. http://rsdn.ru/article/files/scripts/HTMLTree.xml |
Mips 12 - 03.06.2004 - 03:35 |
<style> menu div {display:none;} menu .up {display:block;} span {background-color:silver; font-size:20px;} </style> <menu> <div class="up"><span>+</span>Продукты питания <div> <span>+</span>Молочные продукты <div> <span>+</span>Молоко <div> Кубанская бурёнка</div> </div> </div> </div> <div class="up"><span>+</span> <a href="http://www.kuban.ru">kuban.ru</a> <div> <a http://www.kuban.ru/cgi-bin/forum/forum28.cgi">Форум28</a></div> </div> <div class="up">Mips</div> </menu> <script> function f(){ if (event.srcElement.tagName=="SPAN") { p=event.srcElement.parentNode; div=0;for(var i=0;i<p.children.length;i++){if (p.children(i).tagName=="DIV") {div=i;break;}} event.srcElement.innerHTML=p.children(div).style.display?"+":"–"; p.children(div).style.display=p.children(div).style.display?"":"block"; } } document.onclick=f; </script> ps: для ИЕ. |
Уверенный 13 - 03.06.2004 - 10:32 | http://gemal.dk/util/ - для всех. |
ВпертийХохол 14 - 03.06.2004 - 11:00 | Пока спасибо - попробую - выложу ссылку на сайт в рубрику "Зацените" !!! |
kubanoid 15 - 03.06.2004 - 12:49 | вот это я понимаю обстоятельный подход к решению вопроса! |
Kokoc 16 - 03.06.2004 - 16:38 |
Можно еще для отображения использовать java-апплеты (например, anfy TreeMenu - www.anfyteam.com), а параметры для него рисовать php-скриптом. Вообще, скриптов типа "Tree Menu" куча, в т.ч. на http://www.hotscripts.com/ |