Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,
tenho um sistema que pode ser cadastrados infinitos filhos para um campo, por exemplo, eu tenho a tabela projetos, e posso colocar projetos dentro de projetos infinitamente, construindo uma arvores muito grande de arrays, até aí ok... quero mostrar esses projetos em uma lista, até aí tambem consegui, usando uma função recursiva, o problema esta em mostrar apenas o titulo do projeto, do jeito que esta agora aparecem tudo que eu busco do banco, por exemplo o ID do projeto e o ID do pai desse projeto, e não estou conseguindo mostrar apenas o titulo do projeto na tela...
segue um array de exemplo...
$array = array
(
'0' => array
(
'id' => '1',
'titulo' => 'projeto 1',
'id_pai' => '0',
'children' => array
(
'0' => array(
'id' => '2',
'titulo' => 'projeto 1.1',
'id_pai' => '1',
'children' => array
(
array(
'id' => '3',
'titulo' => 'projeto 1.1.1',
'id_pai' => '2',
'children' => array(
)
),
array(
'id' => '4',
'titulo' => 'projeto 1.1.2',
'id_pai' => '2',
'children' => array(
)
)
)
)
)
),
'1' => array
(
'id' => '5',
'titulo' => 'preojeto 2',
'id_pai' => '0',
'children' => array(
)
)
);
E segue a função recursiva para montar a lista...
function make_list($arr){
$return = '<ul>';
foreach ($arr as $key => $item){
$return .= '<li>' . (is_array($item) ? make_list($item) : $item) . '</li>';
}
$return .= '</ul>';
return $return;
}
E por fim, a chamada da função...
//echo '<pre>'; print_r($array); echo '</pre>';
echo make_list($array);
Se alguem conseguir resolver agradeço muito, pois já estou a dois dias quebrando a cabeça com isso. Obrigado
Carregando comentários...