2015-09-30 1 views
0

Ici, j'ai ma table de base de données et mon nom de la table est la catégorie où je stocke ma catégorie de données et sous-catégorie dans la colonne de catégorie Here i have my database table and my table name is category where I store my data category and subcategory in category columnorganiser catégorie et sous-catégorie en php et Codeigniter

je veux chercher ces données comme ce format ul li pour ce code j'ai essayé d'arranger mais je ne suis pas chercher des données parfaitement comme ceci s'il vous plaît aidez-moi à organiser mon code ce format. i want to fetch this data like this format in ul li for this code i have trying to arrange this format but am not fetch data perfectly like this format please help me to arrange my code this format.

Répondre

1

Vous pouvez essayer comme ça

//to select categories 
     $this ->db-> select(); 
     $this->db->from('category'); 
     $this->db->where('pid',0); 
     $query = $this->db->get(); 
     $categories = array(); 

     $i=0; 
     foreach ($query->result_array() as $row) { 
     //put all category names to $categories array 
     $categories[$i] =$row['category']; 
     $i++; 
     } 

//to select relevant sub categories 
     $sub_categories=array(); 
     foreach ($categories as $category) { 
      $this ->db-> select(); 
      $this->db->from('category'); 
      $this->db->like('category', $category, 'after'); 
      $query = $this->db->get(); 

      $j=0; 
       foreach ($query->result_array() as $row) { 
       //put all sub categories names to $sub_categories array 
       $sub_categories[$category][$j] =$row['category']; 
       $j++; 
       } 

     } 

     $return_data['categories']=$categories; 
     $return_data['sub_categories']=$sub_categories; 

     return $return_data; 
0

Ce code est utile pour obtenir nième niveau de catégorie, un tableau sous-catégorie

contrôleur :

$this->load->model('getmenu_model'); 

function get_menu() { 
    $ci = & get_instance(); 
    $ci->load->model("getmenu_model"); 
    $menu['menu'] = $ci->getmenu_model->get_menu(); 
    $echo = echoMenu($menu['menu']); 

    //$echo.= "<li><a href=" . site_url('loose_diamond').">Loose Diamonds</a></li>"; 
    $menu['print_menu']=$echo; 
    print_r($menu); 
    //return $menu; 

} 

function echoMenu($arr) { 

    $ci = & get_instance(); 
    $echo = ""; 
    //$echo.="<ul>"; 

    foreach ($arr as $subArr) { 
     if (!empty($subArr['sub_menu'])) { 
      $echo.= "<li>"; 
      $echo.= "<a href=" . site_url('product_display/index') . "/" . $subArr['id'] . ">" . $subArr['name'] . "</a>"; 
      if ($subArr['sub_menu']) { 
       $echo.= "<ul>"; 
       $echo .=echoMenu($subArr['sub_menu']); 
       $echo.= "</ul>"; 
      } 
      $echo.= "</li>"; 
     } else { 
      $echo.= "<li><a href=" . site_url('product_display/index') . "/" . $subArr['id'] . ">" . $subArr['name'] . "</a></li>"; 
     } 
    } 

    //$echo.= "</ul>";  
    return $echo; 
} 

modèle :

public function get_menu() { 
     $this->db->select('id,name,parent_id');   
     $menu = $this->db->get('category')->result_array(); 
     $data=$this->menu_child($menu); 
     //print_r($data);   
     return $data; 
    } 
    function menu_child($menu, $parent = NULL) { 
//  echo $parent."---"; 
     $main_menu = array_filter($menu, function($a)use($parent) { 
        return $a['parent_id'] == $parent; 
       }); 

//  print_r($main_menu); 
     if ($main_menu) { 
      foreach ($main_menu as $key => $value) { 
       $main_menu[$key]['sub_menu'] = $this->menu_child($menu, $value['id']); 
      } 
     } 
//  print_r($main_menu); 
     return $main_menu; 
    }