繁体   English   中英

如何获得类别的所有子代,并在mySql中将它们显示为树?

[英]How to get all children of category and show them like tree in mySql?

我在mySql中有一个树系统表。

它是categories表:

category_id category_title category_parent_id
1 Technologies 0
2 Web 1
3 OS 1
4 Software 1
5 Hardware 1
6 PHP 2
7 HTML 2
8 JavaScrip 2
9 Jquery 8
10 Angulra.js 8

如您所见,我有一个树系统,我想要一个PHP函数或一个SQL查询来返回所有子级,如下所示:

Technologies
Technologies > Web
Technologies > OS
Technologies > Software
Technologies > Hardware
Technologies > Web > PHP
Technologies > Web > HTML
Technologies > Web > JavaScript
Technologies > Web > JavaScript > Jquery
Technologies > Web > JavaScript > Amgular.js

你能帮忙吗?

function list_to_tree($list, $pk = 'category_id', $pid = 'category_parent_id', $child = '_child', $root = 0)
{
    $tree = array();
    if (is_array($list))
    {
        $refer = array();
        foreach ($list as $key => $data)
        {
            $refer[$data[$pk]] =& $list[$key];
        }
        foreach ($list as $key => $data)
        {
            $parentId = $data[$pid];
            if ($root == $parentId)
            {
                $tree[] =& $list[$key];
            }
            else
            {
                if (isset($refer[$parentId]))
                {
                    $parent =& $refer[$parentId];
                    $parent[$child][] =& $list[$key];
                }
            }
        }
    }
    return $tree;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM