Advertisement
kura2yamato

semoga solve

Nov 3rd, 2017
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. $array = null;
  3. //========ini udah ok.. tp hrs ada 1 perbaikan ptg disini
  4.     foreach ($row->result_object as $row) {
  5.         if($row->parent == ""){
  6.             $menu_parent[0][$row->id] = $row;
  7.         }else{
  8.             $menu_parent[$row->parent][] = $row;
  9.         }
  10.     }
  11. //===========disambung pake coding gw
  12. class menu {
  13.     //put your code here
  14.     private $menu;
  15.     function __CONSTRUCT(){
  16.         $menu = array(
  17.             'top' => array(
  18.                 array(6, 'one menu'),
  19.                 array(1, 'multi menu')
  20.             )
  21.         );
  22.  
  23.         $menu['sub'] = array(
  24.             '1' => array(
  25.                 array(2, 'one menu'),
  26.                 array(11, 'multi menu')
  27.             )
  28.         );
  29.         $menu['sub'][11]=array(
  30.                 array(3, 'one menu'),
  31.                 array(4, 'multi menu')
  32.             );
  33.         $this->menu=$menu;
  34.     }
  35.  
  36.     function update($menu){
  37.      $this->menu=$menu;
  38.      }
  39.    
  40.     function get(){
  41.         return $this->menu;
  42.     }
  43.    
  44.     function run(){
  45.        
  46.         return $this->get_parent();
  47.     }
  48.     //=============FOKUS pada ini saja
  49.     function get_parent(){//get_list
  50.  
  51.         $data= $this->menu[0];//or parent
  52.        
  53.         $raw=array();
  54.         foreach($data as $row){
  55.             $tmp = array('id'=>$row[0], 'text'=>$row[1]); //mending langsung dibuat gini walau dari query udah melakukannya
  56.             $have_child=$this->have_child($row[0]);
  57.             if($have_child){
  58.                 $tmp['child']=$this->get_child($row[0]);
  59.             }
  60.             $raw[]=$tmp;
  61.         }
  62.         return $raw;
  63.     }
  64.    
  65.     function have_child($id){
  66.         $child=$this->menu['sub'];
  67.         return isset($child[$id])?TRUE:FALSE;
  68.     }
  69.    
  70.     function get_child($id){
  71.         $data = $this->menu[$id];//or child
  72.         //$data=$data_child[$id]; //asumsikan kamu dapatkan dari query where parent=xxx
  73.         $raw=array();
  74.         foreach($data as $row){
  75.             $tmp = array('id'=>$row[0], 'text'=>$row[1]); //mending langsung dibuat gini walau dari query udah melakukannya
  76.             $have_child=$this->have_child($row[0]);
  77.             if($have_child){
  78.                 $tmp['child']=$this->get_child($row[0]);
  79.             }
  80.             $raw[]=$tmp;
  81.         }
  82.         return $raw;
  83.     }
  84. }
  85.  
  86. $menu = new menu($menu_parent);
  87.  
  88. $ar = $menu->run();
  89.  
  90. echo '<pre>'.print_r($ar,1).  json_encode($ar);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement