簡體   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