Categories and Sub-Categories (for rmash)


I have a table in a DB that contains the name of some "categories" that some items will be listed in. Each category can have an unlimited number of sub-categories, each of which can in turn have an unlimited depth of sub-categories below it. This is where the function comes in, so that the one function can call a new instance of itself recursively to the bottom of each sub-sub-sub-category. The table has just a few values: cat_id, name Description, SubCatOf, sort_val

The "cat_id" is the primary key and is just the ID number of the category. "name" is self-explanatory as is "description." The "sort_val" is the sorted "weight" of the category sorted ASC. The key to the problem is "SubCatOf" which is "0" for a top-level category, or equals the "cat_id" of whatever "parent category" it is directly under. This parent could be the child of another category, and so forth.

I should be able to pass a variable to the function to define the format of the output, as one of the following values:

format='list' --> should output as an unordered list <ul><li></li></ul>

format='dasharray' --> will be used to make a dropdown list and should indent with a "-" sub-categories and store the "cat_id" with it in an array array[]=("cat_id" => $cat_id, "displayname" => "- $name") or if further down, more dashes like this array[]=("cat_id" => $cat_id, "displayname" => "- - - - $name")

so that it can be outputted as such (the code to do this would be helpful as well, though I suppose I can write my own foreach to handle it if you don't have time):

<select name="SelectCategory" size="1">

<option value="1">Pets</option>

<option value="4">- Dogs</option>

<option value="7">- - Labrador</option>

<option value="8">- - Poodle</option>

<option value="5">- Cats</option>

<option value="6">- - Siamese</option>

<option value="2">Zoo Animals</option>

<option value="3">- Giraffe</option>

<option value="9">- Zebra</option>


format='orderedarray' --> same as above, but should just be an array in order containing all the original values (cat_id, name, description, sort_val, SubCatOf)

I suppose it might be easier to make a function that makes the last format above (orderedarray) first, and then run that array through a specific function for each formatting...that is fine too.

( + other requirements as needed and already discussed)


Skills: PHP

See more: top problem, to-do categories, sub all, recursively, problem categories, or dogs, n equals,, li-be, i can write my name, depth first, categories all, asc it, all sub, dropdown list subcategories, unlimited sub category, handle categories sub categories, sub category format, top pets, zoo, zebra, sub, pets, parent, labrador

About the Employer:
( 41 reviews ) Houston, United States

Project ID: #192471

Awarded to:


As discussed

$120 USD in 7 days
(149 Reviews)

5 freelancers are bidding on average $138 for this job


Can be done very easily by our experts. Please check PMB for details

$100 USD in 1 day
(152 Reviews)

Hello, This is a placeholder bid. Please see PMB for more details.

$150 USD in 7 days
(1 Review)

Hi, we are very [url removed, login to view] have gone through wit the requirements you pasted in your description. We can easily do it with our expertise. we will provide your project with reqiured language. we will provide you re More

$120 USD in 5 days
(1 Review)

i am alrdeady done this type of project u can see [url removed, login to view] [url removed, login to view] so i am very much interested

$200 USD in 8 days
(0 Reviews)