Вывести желательно в таком виде:
раздел1
- подраздел1
- подраздел2
----подраздел 2,2
----подраздел2,3
раздел2
Подскажите хотя бы с чего начать, что-то подобное почитать, меня просто останавливает этот не известный уровень вложенности. У меня в БД все документы разделены на 3 типа, 0-документ,1 раздел(значит вкл подразделы), и 2 ссылка для скачивания....не могу собрать все в единое целое. Просто логику и что использовать хотя бы подскажите.
Спустя 26 минут, 18 секунд (13.02.2010 - 20:50) qpayct написал(а):
рекурсией
понадобится 4 вспомогательных функции:
1. дёргает id
2. дёргает name
3. дёргает position
4. дёргает parent
понадобится 4 вспомогательных функции:
1. дёргает id
2. дёргает name
3. дёргает position
4. дёргает parent
for ($i=0; $i<countInnerGroups(0); $i++) {
$items.= "<option id=\"". getId($i) ."\" title=\"". getPos($i) .
"\" label=\"". getParent($i) ."\">". getName($i) ." (". getPos($i) .")</option>";
$items.= buildList(getId($i), "");
}
function buildList($current, $bl){
for ($i=0; $i<countGroups(); $i++) {
if ($current==$parent[$i]) {
$bl.= "__";
$groups.="<option id=\"". $id[$i] ."\" title=\"". $pos[$i] ."\" label=\"". $parent[$i] ."\">".
$bl. $name[$i] ." (". $pos[$i] .")</option>";
$groups.= buildList($id[$i], $bl);
if ($pos[$current]=="0") $bl = substr($bl,0,strlen($bl)-4);
else $bl = substr($bl,0,strlen($bl)-2);
}
}
return $groups;
}
echo $items;
Спустя 4 минуты, 30 секунд (13.02.2010 - 20:54) Adil написал(а):
А нужно ли рекурсией?
Спустя 49 секунд (13.02.2010 - 20:55) qpayct написал(а):
бесконечная вложенность... как ещё?
Спустя 8 минут, 59 секунд (13.02.2010 - 21:04) Adil написал(а):
Добавить поле child и проверять по нему. Вообще прикинь при каждом обращении к странице, рекурсией формируется меню с 4-5 кратной вложенностью.. боже упаси..
Еще если интересно почитай вот это:
http://www.woweb.ru/publ/41-1-0-464
Еще если интересно почитай вот это:
http://www.woweb.ru/publ/41-1-0-464
Спустя 2 минуты, 39 секунд (13.02.2010 - 21:07) qpayct написал(а):
Nezabivaemiy
а по точнее. нафига child если parent есть?
за ссылочку отдельное спасибо, почитаю
а по точнее. нафига child если parent есть?
за ссылочку отдельное спасибо, почитаю
Спустя 3 минуты, 54 секунды (13.02.2010 - 21:10) Prettynim написал(а):
даже не представляете как я Вам благодарна!!!!! Спасибо огромное, меня попросили сделать именно так, для наглядности...еще раз огромное спасибо!!!!
Все эти поля у меня есть в бд, а собрать в одно не могла.
Все эти поля у меня есть в бд, а собрать в одно не могла.
Спустя 46 минут, 39 секунд (13.02.2010 - 21:57) Adil написал(а):
qpayct нет, парента достаточно, просто в одном проекте для удобства в child записывали все категории узла.
Спустя 6 минут, 42 секунды (13.02.2010 - 22:04) qpayct написал(а):
Цитата (Nezabivaemiy @ 13.02.2010 - 20:57) |
qpayct нет, парента достаточно, просто в одном проекте для удобства в child записывали все категории узла. |
обсуждалось уже.
такие методы ещё больше ресурсов требуют, чем рекурсия, сам подумай. ладно, так и быть, на первый раз прощаю
Спустя 1 минута, 55 секунд (13.02.2010 - 22:06) Adil написал(а):
Цитата (qpayct @ 13.02.2010 - 23:04) |
обсуждалось уже. |
У нас на форуме? Ссылочка есть?
Спустя 6 дней, 7 часов, 2 минуты, 31 секунда (20.02.2010 - 05:08) qpayct написал(а):
Nezabivaemiy
Беру свои слова назад. Рекурсия нахер не нужна. Впервые столкнулся с таким чудом и до сих пор до конца не понял, как работает, но тема четкая. А я че то даже и не думал, что мускул на такое расчитан. Век живи - век учись чо ты мене сразу не обьяснил то?
Беру свои слова назад. Рекурсия нахер не нужна. Впервые столкнулся с таким чудом и до сих пор до конца не понял, как работает, но тема четкая. А я че то даже и не думал, что мускул на такое расчитан. Век живи - век учись чо ты мене сразу не обьяснил то?
Спустя 6 часов, 22 минуты, 27 секунд (20.02.2010 - 11:31) Prettynim написал(а):
Цитата (qpayct @ 20.02.2010 - 02:08) |
Рекурсия нахер не нужна. |
А объяснить можете, что именно имеете ввиду?
Спустя 11 минут, 16 секунд (20.02.2010 - 11:42) qpayct написал(а):
Цитата (Nezabivaemiy @ 13.02.2010 - 20:04) |
если интересно почитай вот это: http://www.woweb.ru/publ/41-1-0-464 |
тут всё обьясняется. лучше не обьяснить
Спустя 13 минут, 20 секунд (20.02.2010 - 11:55) Prettynim написал(а):
Цитата (qpayct @ 20.02.2010 - 08:42) |
тут всё обьясняется. лучше не обьяснить |
ясно, спасибо.