генерация выпадающего списка

cdi

Новичок
генерация выпадающего списка

Ребята, убедительная просьба помочь, у самого что-то не получается. Есть массив, по к-му строится дерево разделов при помощи html-списков. А как построить выпадающий список из этого же массива?

PHP:
<?php

// ф-я генерации дерева при помощи html-списков
function get_tree($get_all_razdels, $id = 0,  $prefix = '') {
    $out = $prefix.'<ul>';
    foreach ($get_all_razdels as $key => $value){
           if($value['parent_id'] == $id){
                    $out .= '<li>'.$value['name'].'</li>';
                    $out = get_tree($get_all_razdels, $key, $out);
           }
    }
    $out .='</ul>';
    return str_replace('<ul></ul>','',$out);
}

// массив разделов (вид/представление массива менять нельзя!)
$array = array (
  1 => array ('id' => '1', 'parent_id' => '0', 'name' => 'раздел 1' ),
  2 => array ('id' => '2', 'parent_id' => '1', 'name' => 'раздел 1.1'),
  3 => array ('id' => '3', 'parent_id' => '1', 'name' => 'раздел 1.2'),
  4 => array ('id' => '4', 'parent_id' => '1', 'name' => 'раздел 1.3'),
  5 => array ('id' => '5', 'parent_id' => '2', 'name' => 'раздел 1.1.1'),
  6 => array ('id' => '6', 'parent_id' => '2', 'name' => 'раздел 1.1.2'),
  7 => array ('id' => '7', 'parent_id' => '2', 'name' => 'раздел 1.1.3'),
  8 => array ('id' => '8', 'parent_id' => '3', 'name' => 'раздел 1.2.1'),
  9 => array ('id' => '9', 'parent_id' => '3', 'name' => 'раздел 1.2.2'),
 10 => array ('id' =>'10', 'parent_id' => '3', 'name' => 'раздел 1.2.3'),
 11 => array ('id' =>'11', 'parent_id' => '4', 'name' => 'раздел 1.3.1'),
 12 => array ('id' =>'12', 'parent_id' => '4', 'name' => 'раздел 1.3.2'),
 13 => array ('id' =>'13', 'parent_id' => '4', 'name' => 'раздел 1.3.3'),
 14 => array ('id' =>'14', 'parent_id' => '5', 'name' => 'раздел 1.1.1.1'),
 15 => array ('id' =>'15', 'parent_id' => '5', 'name' => 'раздел 1.1.1.2'),
 16 => array ('id' =>'16', 'parent_id' => '5', 'name' => 'раздел 1.1.1.3')

);

// вывод дерева
print get_tree($array,0,false);

// как получить из имеющегося масиива $array
// выпадающий список такого вида ?
?>
<select>
<option>-раздел 1</option>
<option>--раздел 1.1</option>
<option>---раздел 1.1.1</option>
<option>----раздел 1.1.1.1</option>
<option>----раздел 1.1.1.2</option>
<option>----раздел 1.1.1.3</option>
<option>---раздел 1.1.2</option>
<option>---раздел 1.1.3</option>
<option>--раздел 1.2</option>
<option>---раздел 1.2.1</option>
<option>---раздел 1.2.2</option>
<option>---раздел 1.2.3</option>
<option>--раздел 1.3</option>
<option>---раздел 1.3.1</option>
<option>---раздел 1.3.2</option>
<option>---раздел 1.3.3</option>
</select>
 

specialist

Guest
ну нак и переделай get_tree() ..чтобы список выпадающий генерила..если сумел её написать, то какие могут быть проблемы переделать её для этого..?
 
Сверху