Пример для вывода записей в выпадающий список:
function build_tree($arrs, $parent_id=0, $level=0) {
foreach ($arrs as $arr) {
if ($arr['ParentID'] == $parent_id) {
echo '<option value="' . $arr['ID'] . '">'.str_repeat("  ", $level)." ".$arr['Title'].'</option>';
build_tree($arrs, $arr['ID'], $level+1);
}
}
}
echo '<select onchange="location = this.value;">';
build_tree($arr_b, 0);
echo '</select>';
а еще можно вывести ссылки таким способом:
// Recursive function
function getList($rows, $id=0){
// Start a new list
$newList = null;
foreach($rows as $key => $row) {
if ($row['ParentID'] == $id) {
// Add an UL tag when LI exists
$newList == null ? $newList = "<ul>" : $newList;
$newList .= "<li>";
$newList .= "<a href=\"\">{$row['Title']}</a>";
// Find childrens
$newList .= getList(array_slice($rows,$key),$row['ID']);
$newList .= "</li>";
}
}
// Add an UL end tag
strlen($newList) > 0 ? $newList .= "</select>" : $newList;
return $newList;
}
print_r(getList($arr_b));
Комментариев нет:
Отправить комментарий