<?php foreach($categories as $k=>$v): ?> <tr> <td> <?php if ($levelPrevious < $v['Category']['level']) { echo str_repeat('', $v['Category']['level'] - $levelPrevious); $prevpass = $levelPrevious; $levelPrevious=$v['Category']['level']; echo '--'.$v['Category']['name'].' ('.$prevpass.' < '.$levelPrevious.') '; } elseif($levelPrevious > $v['Category']['level']){ $r .= str_repeat('', ++$levelPrevious - $v['Category']['level']); $prevpass = $levelPrevious; $levelPrevious=$v['Category']['level']; echo '--'.$v['Category']['name'].' ('.$prevpass.' > '.$levelPrevious.') '; } else{ $prevpass = $levelPrevious; echo '--'.$v['Category']['name'].' ('.$prevpass.' < / > '.$levelPrevious.') '; $levelPrevious=$v['Category']['level']; } <?php endforeach; ?> ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php $sql="SELECT * FROM table"; $res=mysql_query($sql); while($data=mysql_fetch_array($res)){ $rec[]=$data; } function generate_tree_list($arr, $parent = 0){ $has_children = false; foreach($arr as $key => $value){ if ($value['parent_id'] == $parent){ if ($has_children == false){ $has_children = true; echo ''; } echo '<li>' . $value['name']; echo '[# Delete]'; echo '[# Edit]'; echo '[# On/Off]'; unset($arr[$key]); generate_tree_list($arr, $value['id']); echo '</li>'; } } if ($has_children === true) echo ''; } function generate_tree_table($arr, $parent 0,$level 0){ $has_children = false; foreach($arr as $key => $value){ if ($value['parent_id'] == $parent){ if ($has_children == false){ $has_children = true; $level++; } echo '<tr>'; echo '<td style="padding-left:'.(20*($level)).'px;">'. $value['name'].'</td>'; echo '<td>[# On/Off]</td>'; echo '<td>[# Edit]</td>'; echo '<td>[# Delete]</td>'; echo '</tr>'; unset($arr[$key]); generate_tree_table($arr, $value['id'],$level); } } } echo ' '; echo generate_tree_list($rec); echo ' '; echo ''; echo generate_tree_table($rec); echo ' '; ?>
<?php $a = array( array("parent1",array( array("enfant1",array()), array("enfant2", array( array("enfant21",array()) )), array("enfant3",array()) )), array("parent2", array()) ); function afficheHierarchie($array){ static $level = -1; $level ++; foreach($array as $element){ for($i=0;$i<$level;$i++) echo "--"; echo $element[0] . " "; afficheHierarchie($element[1]); } $level--; } afficheHierarchie($a); ?>