php recursive fucntion to get categories and subcategories

Here is my simple recursive function to create a category subcategory tree of unlimited subcategories.

<select name="parent_cat">
<option value="0">Root</option>
<?
function get_all_sub_cats($parent_cat_id, $level_string)
{
$return_str='';
if(!$level_string)
{
$level_string='';
}
$db=new DB();
$db->open();
$db->query("select * from categories where parent_id='{$parent_cat_id}'");
$db->rsset();
if($db->rs)
{
while($db->rs)
{
$return_str.="<option value="{$db->rs['id']}" style="padding-left:10px">{$level_string}{$db->rs['name']}</option>";
$return_str.=get_all_sub_cats($db->rs['id'], $level_string.'+');
$db->rsset();
}
}
else
{
return false;
}
return $return_str;
}
print get_all_sub_cats('0', '');
?>
</select>

This is to fit my needs. You can get the logic and build your own accordingly.

Leave a comment

Your email address will not be published. Required fields are marked *