创建类别树的最佳方法

时间:2016-06-22 05:38:55

标签: php mysql sql codeigniter loops

我需要以递归方式搜索MySQL表来创建一个类别树。

我的问题是如何做到这一点。我正在尝试在PHP中使用foreach。但我认为存在一种方法,只需使用SQL查询即可,例如循环。

我需要的回答是这样的:

array(
    [0] => array(
            'slug' => 'value', 
            'title' => 'value', 
            'childs' => array(
                array(
                    'slug' => 'value', 
                    'title' => 'value', 
                    'childs' => array()
                ), 
                array(
                    'slug' => 'value', 
                    'title' => 'value', 
                    'childs' => array(
                        array(
                            'slug' => 'value', 
                            'title' => 'value', 
                            'childs' => array()
                        ),
                    ),
                ),
            ),
        )

使用SQL语法或仅使用PHP循环的任何解决方案?

我的表格设计在这个印刷品中:

Table: blog_categories

1 个答案:

答案 0 :(得分:1)

MySQL查询将始终返回" flat"没有任何嵌套的结果集,所以如果你想从SQL结果集中获取嵌套数组,你必须得到所有类别,然后使用PHP代码对其进行后处理以构建嵌套数组。