Web coding support
  • Home
  • PHP
  • Phonegap
  • Angular Js
  • Node Js
  • Previous year questions
  • B.Tech Questions
  • RTU

How to manage multi level categories in PHP and MySQL

  • By admin
  • Aug-26-2016
  • MySQL, PHP
  • 0 Comments.

For the websites it is common to manage articles, products and much more thing by categories. And these categories have child categories and these child also have child and so in.

So this article will show you that how to manage the Multi-level categories tree in PHP and MySql.

First of all we need a Database table to store all categories.

CREATE TABLE `tblcategory` (
     `id` int(10) NOT NULL auto_increment,
     `pid` int(10) NOT NULL default '0',
     `title` varchar(255) NOT NULL,
      PRIMARY KEY (`id`)
 );

Multilevel categories tree in database table.multilevel-categories-php-mysql

 

Now time to get list of all categories with parent and their child, grand child and so on. There are two way to find all categories.

1. First solution that all knows, Recursion  

In Recursion, first get all main parents categories and then start a loop and fetch all subcategories with their parent id’s.


function showCategories($cat_id = 0, $dashes = ''){
     $dashes .= '--';
     $rsSub = mysql_query("SELECT id, pid, title FROM tblcategory WHERE pid = " . $cat_id) or die(mysql_error());
     if(mysql_num_rows($rsSub) > 0){
         while($rows_sub = mysql_fetch_array($rsSub)){
             echo $dashes . $rows_sub['title'] . "<br />";
             if($rows_sub['pid'] != 0){
                 showSubCategories($rows_sub['id'], $dashes);
                 }
             }
         }
}

2. Second solution, We can also get all categories by PHP REFERENCES.

By this method we fetch all categories at a time and set them with their parents with the help of Reference.

$refs = array();
$list = array();

$sql = "SELECT item_id, parent_id, name FROM items ORDER BY name";
$result = mysql_query($sql);
while($data = @mysql_fetch_assoc($result)) {
     $thisref = &$refs[ $data['item_id'] ];

     $thisref['parent_id'] = $data['parent_id'];
     $thisref['name'] = $data['name'];

     if ($data['parent_id'] == 0) {
         $list[ $data['item_id'] ] = &$thisref;
         } else {
         $refs[ $data['parent_id'] ]['children'][ $data['item_id'] ] = &$thisref;
         }
}

Related Posts

  • How to create pagination in PHP and MySQLHow to create pagination in PHP and MySQL
  • Fetch random results form MySQLFetch random results form MySQL
  • How to handle duplicate data in MySqlHow to handle duplicate data in MySql
  • Magic function library for Codeigniter like CakePHPMagic function library for Codeigniter like CakePHP
  • What is the difference between an interface and abstract classWhat is the difference between an interface and abstract class
  • What is static functions in phpWhat is static functions in php

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on Google+ (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
  • Click to email this to a friend (Opens in new window)
  • Click to print (Opens in new window)

Related

FacebookTwitterGoogle+Google GmailPrintPinterestFacebook MessengerWordPressShare

Comments

Leave a Reply Cancel reply

← Previous Post Next Post →

Categories

  • Angular Js
  • Array
  • Codeigniter
  • facebook
  • Javascript
  • jquery
  • MySQL
  • oops
  • Pagination
  • Phonegap
  • PHP

Recent Posts

  • Fetch random results form MySQL
  • HTML DOM Manipulation using JavaScript
  • Magic function library for Codeigniter like CakePHP
  • What is the difference between an interface and abstract class
  • How to reset an array keys in php

Tags

Abstract Class angularjs array codeigniter facebook facebook login facebook sdk form validations function hide html Interface javascript jquery magic functions method mysql ng-hide ng-show nghide ngshow oops pagiation php recursion reference show static static functions

Subscribe us

Name
Email *
About This Site

We provide the simplest tutorials for web development.

Pages
  • Home
  • B.Tech Questions
  • Previous year questions
  • RTU
Categories
  • Angular Js
  • Array
  • Codeigniter
  • facebook
  • Javascript
  • jquery
  • MySQL
  • oops
  • Pagination
  • Phonegap
  • PHP
Search
  • facebook
  • twitter

Powered by Minmarks.com  |  A Coding blog by By Jitendra.

loading Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.