Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • How to make Parent Child tree in PHP

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 1
    • 0
    • 5.28k
    Comment on it

    Hello Reader's if your making the parent child relationship then this blog is very helpful to you. Here we are making parent child tree by using the Iteration functions. The output of this will a tree which showing the childs on branches and parents on the nodes.

     

    Consider the database first. The database will having the 3 column ie id, parent_id and category_name. Here id will be unique for every category and subcategory, parent_id will be 0 for all parent category and if there is childs(Sub categories in this) this will be id of that parent, last the category_name will be the name of category or subcategory.

     

    As you hit the mysql query you will be getting the seperated column record. Now we start the logic

     

    First we create function for creating the tree first.

    public function buildTree($items)
     {
      $childs = array();
    
      foreach($items as $item)
       $childs[$item->parent_id][] = $item;
    
      foreach($items as $item) if (isset($childs[$item->id]))
       $item->childs = $childs[$item->id];
    
      return $childs[0];
     }

     

    Now we create another function that will Llst all the parent and child categories in a tree structure with appropriate links. This is iterative function, if any child found having child in it. The will again traverse to it by calling the same function again. And it's code will go like this:-   

    public function traverseChild($childs)
     {
      foreach ($childs as $key => $child) {
       $ctemp = array();
       $ctemp['id'] = $child['id'];
       $ctemp['text'] = $child['category_name'].'<span class="actions"><span class="actions"><a title="Click to add/update attributes abd category updates" href="'.base_url().'admincategories/assembleCategory/'.$child['id'].'">Assemble Category</a></span></span>';
    
       if (!empty($child['childs'])) {
        $childrenArray = $this->traverseChild($child['childs']);
        $ctemp['children'] = $childrenArray;
       }
       $categoryChild[] = $ctemp;
      }
      return $categoryChild;
     }

     

    The above function will give you the result of all child. Now you can easily put them in views and by calling some css and js you can give it look like a tree. Output will as in screenshot below:-

     

    How to make Parent Child tree in PHP

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: