[英]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.