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