Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $array = null;
- //========ini udah ok.. tp hrs ada 1 perbaikan ptg disini
- foreach ($row->result_object as $row) {
- if($row->parent == ""){
- $menu_parent[0][$row->id] = $row;
- }else{
- $menu_parent[$row->parent][] = $row;
- }
- }
- //===========disambung pake coding gw
- class menu {
- //put your code here
- private $menu;
- function __CONSTRUCT(){
- $menu = array(
- 'top' => array(
- array(6, 'one menu'),
- array(1, 'multi menu')
- )
- );
- $menu['sub'] = array(
- '1' => array(
- array(2, 'one menu'),
- array(11, 'multi menu')
- )
- );
- $menu['sub'][11]=array(
- array(3, 'one menu'),
- array(4, 'multi menu')
- );
- $this->menu=$menu;
- }
- function update($menu){
- $this->menu=$menu;
- }
- function get(){
- return $this->menu;
- }
- function run(){
- return $this->get_parent();
- }
- //=============FOKUS pada ini saja
- function get_parent(){//get_list
- $data= $this->menu[0];//or parent
- $raw=array();
- foreach($data as $row){
- $tmp = array('id'=>$row[0], 'text'=>$row[1]); //mending langsung dibuat gini walau dari query udah melakukannya
- $have_child=$this->have_child($row[0]);
- if($have_child){
- $tmp['child']=$this->get_child($row[0]);
- }
- $raw[]=$tmp;
- }
- return $raw;
- }
- function have_child($id){
- $child=$this->menu['sub'];
- return isset($child[$id])?TRUE:FALSE;
- }
- function get_child($id){
- $data = $this->menu[$id];//or child
- //$data=$data_child[$id]; //asumsikan kamu dapatkan dari query where parent=xxx
- $raw=array();
- foreach($data as $row){
- $tmp = array('id'=>$row[0], 'text'=>$row[1]); //mending langsung dibuat gini walau dari query udah melakukannya
- $have_child=$this->have_child($row[0]);
- if($have_child){
- $tmp['child']=$this->get_child($row[0]);
- }
- $raw[]=$tmp;
- }
- return $raw;
- }
- }
- $menu = new menu($menu_parent);
- $ar = $menu->run();
- echo '<pre>'.print_r($ar,1). json_encode($ar);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement