<?php
/*****************************************************************************/
/*                                                                           */
/*   TreeItem - Dynamicky stromovy seznam                                    */
/*                                                                           */
/*   autor: Tomas Vancura (Tomík)                                            */
/*   datum: 15.10.2007                                                       */
/*                                                                           */
/*                                                                           */
/*   funkce: <string> TreeItem (<array> $array, [<int> id_parent]);          */
/*                                                                           */
/*           $array - strukturovane pole s daty                              */
/*           $id_parent - index na rodice, odkud zacit = id_up (default: 0)  */
/*           return - strukturovany seznam v HTML <ul><li>                   */
/*                                                                           */
/*****************************************************************************/

  
$pole = array( 
                array(
'id'=>1'title'=>"Filmy"'id_up'=>0'pos'=>1), 
                array(
'id'=>2'title'=>"Drama"'id_up'=>1'pos'=>1), 
                array(
'id'=>3'title'=>"Horor"'id_up'=>1'pos'=>3), 
                array(
'id'=>4'title'=>"Krimi"'id_up'=>1'pos'=>2), 
                array(
'id'=>5'title'=>"Komedie"'id_up'=>1'pos'=>4),                 
                array(
'id'=>6'title'=>"Seznamka"'id_up'=>0'pos'=>2), 
                array(
'id'=>7'title'=>"Muzi"'id_up'=>6'pos'=>2), 
                array(
'id'=>8'title'=>"Zeny"'id_up'=>6'pos'=>1),                 
                array(
'id'=>9'title'=>"Auta"'id_up'=>0'pos'=>3), 
                array(
'id'=>10'title'=>"Sportovni"'id_up'=>9'pos'=>1), 
                array(
'id'=>11'title'=>"Luxusni"'id_up'=>9'pos'=>4), 
                array(
'id'=>12'title'=>"Nakladni"'id_up'=>9'pos'=>2), 
                array(
'id'=>13'title'=>"Osobni"'id_up'=>9'pos'=>3), 
                array(
'id'=>14'title'=>"Domaci"'id_up'=>13'pos'=>1), 
                array(
'id'=>15'title'=>"Skoda"'id_up'=>14'pos'=>1), 
                array(
'id'=>16'title'=>"Zahranicni"'id_up'=>13'pos'=>2), 
                array(
'id'=>17'title'=>"Audi"'id_up'=>16'pos'=>3), 
                array(
'id'=>18'title'=>"BMW"'id_up'=>16'pos'=>2), 
                array(
'id'=>19'title'=>"Toyota"'id_up'=>16'pos'=>1), 
                array(
'id'=>20'title'=>"Jukebox"'id_up'=>0'pos'=>4
              );

/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/

function TreeItem($array,$id_parent=0) {
   
  for (
$i=0;$i<count($array);$i++) {
     if(
$array[$i]['id_up'] == $id_parent) {
        
$tmp[$array[$i]['pos']] = $array[$i];
        
$tmp[$array[$i]['pos']]['out_in'] = TreeItem($array,$array[$i]['id']);
     }
  }
  if(
count($tmp)>0) {
     
$out "<ul>\n"
     
ksort($tmp);
     for(
$i=1;$i<=count($tmp);$i++) {
        
$out .= "<li>{$tmp[$i]['pos']} - {$tmp[$i]['title']} ({$tmp[$i]['id']})</li>\n";
        
$out .= $tmp[$i]['out_in'];        
     }
     
$out .= "</ul>\n";
  }
  return 
$out;
}

/*****************************************************************************/
 
  
echo "<ul>\n<li>pos - title (id)</li>\n</ul>\n\n";
  
  echo 
TreeItem($pole);

/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
?>