Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Дерево каталогов с разным количеством внутренних веток
 
 автор: школьник   (25.10.2006 в 12:55)   письмо автору
 
 

Надеюсь на помошь!

Есть табилица в СУБД
с такими полями:
tmc_id - уникальный идентификатор
parent_id - родительский tmc_id, 0 если первый уровень
Name - текст
level - уровень ветви, 1 - верхний уровень, и т.д.
IsLast - 1 если ветвь последняя, 0 если внутри этой ветви есть дочерние ветви

необходио построить дерево каталогов в внутренними ветвями смещенным в право на 10px.
если ветвь имеет внутреннюю ветвь, сделать ее текст жирным, все последние ветви (у которых IsLast = 1) текст не жирный.

Пожалуйста помогите написать скрипт, а то задали по програмированию, не могу сделать, уже 2 дня сижу =)

   
 
 автор: cheops   (25.10.2006 в 15:01)   письмо автору
 
   для: школьник   (25.10.2006 в 12:55)
 

Здесь обычно используется рекурсивный спуск, возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=21904 - если что-то не понятно, пишите - будем разбираться дальше.

   
 
 автор: школьник   (25.10.2006 в 17:04)   письмо автору
 
   для: cheops   (25.10.2006 в 15:01)
 

это не совсем то.
в моем примере одна ветвь может содержать более одной внутренеей ветви которая в свою очередь модержит свои ветви и тд. и самое главное что запрос я могу делать только один раз, в результате у меня поля указанные выше.

я пытался делать следующим образом.
сначало перегоняю результат в один масив, и уже потом ищу внутренние каталоги до момента когда IsLast равен 1, пробовал несколько раз сделать это разными способами, но не получалось совсем то что нужно.

у меня уже есть этот скрипт написанный на питоне, если интересно я могу показать.

   
 
 автор: школьник   (25.10.2006 в 17:05)   письмо автору
 
   для: cheops   (25.10.2006 в 15:01)
 

это не совсем то.
в моем примере одна ветвь может содержать более одной внутренеей ветви которая в свою очередь модержит свои ветви и тд. и самое главное что запрос я могу делать только один раз, в результате у меня поля указанные выше.

я пытался делать следующим образом.
сначало перегоняю результат в один масив, и уже потом ищу внутренние каталоги до момента когда IsLast равен 1, пробовал несколько раз сделать это разными способами, но не получалось совсем то что нужно.

у меня уже есть этот скрипт написанный на питоне, если интересно я могу показать.

   
 
 автор: школьник   (25.10.2006 в 17:07)   письмо автору
 
   для: школьник   (25.10.2006 в 12:55)
 

чтото я аж 2 раза написал одно и тоже,

наверное человек военный =)

   
 
 автор: Trianon   (25.10.2006 в 17:13)   письмо автору
 
   для: школьник   (25.10.2006 в 17:07)
 

3.

Если отображать нужно все дерево, то его можно выдернуть из таблицы за один запрос.
А что именно у Вас не получается? Показали бы код...

   
 
 автор: школьник   (25.10.2006 в 17:34)   письмо автору
 
   для: Trianon   (25.10.2006 в 17:13)
 

ну у меня не получаеться сама рекурсия, я могу распечатать только ветвь первого уровня и ветвь второго уровня, ветви третьего и тд уровней я не могй понять как их выстроить с соответствующей ветки.

код даже стыдно показывать =)

   
 
 автор: Trianon   (25.10.2006 в 18:12)   письмо автору
 
   для: школьник   (25.10.2006 в 17:34)
 

http://softtime.ru/forum/read.php?id_forum=3&id_theme=13924&page=1

   
 
 автор: школьник   (25.10.2006 в 18:47)   письмо автору
 
   для: Trianon   (25.10.2006 в 18:12)
 

Спасибо за линк, буду пробовать на моем примере =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования