|
|
|
| Доброй ночи.
начало этой темы здесь.
Задача в том, что бы выстроить порядковые номера статей начиная от родительской.
1.1
1.2
1.2.1
1.2.2
1.2.2.1
1.3
|
из базы уже получены порядковые номера и id всех статей.
вывод в браузер такой
<?php
function listTree($r, $c){
$html = "";
foreach($r as $v){
/* заголовок статьи */
$title = ($v->block == 'show')
? "<a href='#'>".$v->title_art."</a>"
: "<a class='block' href='#'>".$v->title_art."</a>";
$chapter = $v->order_chapter;// порядковый номер главы
$root_art = $v->order_article; // порядковый номер статьи
/* собираем список всех статей */
$html .= "<ul class='ul-article-list'><li>".$chapter.".".$root_art.".".$title;
if(isset($c[$v->id_article])){ // если есть статья-потомок, то вызываем функцию снова
$html .= listTree($c[$v->id_article], $c);
}
$html .= "</li></ul>";
}
return $html;
}
// $root - массив с родительскими статьями, $child со статьями-потомками
echo listTree($root, $child);
?>
|
если выводить статьи первого уровня, то всё нормально, но при выводе статьи-потомка теряется порядковый номер родителя.
получается так
1.1
1.2
1.1
1.2
1.3
/* а должно быть так */
1.1
1.2
1.2.1
1.2.2
1.2.3
1.3
|
Подскажите, как решить данную задачу? Может цепочку из номеров собирать перед записью в базу и выводить уже готовую? | |
|
|