Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Построение дерева категорий 
:(
    Опции темы
ZloiKombat
Дата 18.7.2013, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 19.2.2011

Репутация: нет
Всего: нет



Доброго времени суток форумчане.
Помогите пожалуйста решить вот такую задачу.
Есть дерево категорий, которое выводится с виде многоуровнего списка с помощью <ul><li></li></ul>

Здесь все подробно с примерами написано
Построение дерева категорий

Работает все отлично, но есть загвоздка.
Мне нужно что бы функция которая в примере выводила многоуровневый список строя его НЕ с помощью <ul><li></li></ul>, а например с помощью пробелов &emsp;
То есть: раздел - нет пробелов, подраздел - 1 пробел, подподраздел - 2 пробела, подподподраздел - 3 пробела и т.д.

Пожалуйста помогите решить эту задачку, буду благодарен! 
PM MAIL   Вверх
Sanchezzz
Дата 18.7.2013, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Вычитывайте уровень вложенности $level

Каждая итерация в глупь +1, на выходе из рекурсии -1, предварительно делаем проверку если $level < 1 то level=1
при выводе названия категории используем функцию str_repeat
примерно так 
Код

echo str_repeat('&nbsp;',$level). $name_cat ;



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ZloiKombat
Дата 18.7.2013, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 19.2.2011

Репутация: нет
Всего: нет



Цитата(Sanchezzz @ 18.7.2013,  14:21)
Вычитывайте уровень вложенности $level

Каждая итерация в глупь +1, на выходе из рекурсии -1, предварительно делаем проверку если $level < 1 то level=1
при выводе названия категории используем функцию str_repeat
примерно так 
Код

echo str_repeat('&nbsp;',$level). $name_cat ;

Спасибо за то что откликнулись.
Я не профи в программировании, не могли бы вы написать эту функцию с вашими правками, я не совсем понимаю как сделать то что вы сказали.
Заранее спасибо!
PM MAIL   Вверх
Sanchezzz
Дата 18.7.2013, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Код

function build_tree($cats, $parent_id = 0 , $level = 0){
    if(isset($cats[$parent_id])){
        $level++;
        foreach($cats[$parent_id] as $cat){
            $tree.= str_repeat('&nbsp;',$level) . $cats['name'];
            $tree.=  build_tree($cats,$cat['id'],$level);  
        }
    }else{
        $level--;
        return '';
    }
    return $tree;
}

Остальное со статьи возьмете, нечего трудного 

Это сообщение отредактировал(а) Sanchezzz - 18.7.2013, 14:51


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0628 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.