如果标记为真,则从表中返回父母子女等

时间:2012-05-22 14:11:50

标签: php mysql loops multidimensional-array

我有一个包含大量类别的表格,这些类别包含与其相关的子项,也可以让孩子与最大深度为3个孩子的孩子相关。示例使用数组样式。

我想要做的是查询表格,以及如何创建一个数组,将结果存储在一个数组中,如下一个数组,可以在其中搜索以获取值为true的键。

cat_1 - > chd_1 - > chd_2,chd_3等......

示例类别表:

    +----+--------+-----------+---------+
    | id | name   | parent_id | storage |
    +----+--------+-----------+---------+
    |  1 | cat_1  |    0      |         |
    |  2 | cat_2  |    0      |         |
    |  3 | chd_1  |    1      |         |
    |  4 | chd_2  |    3      |  true   |
    |  5 | chd_3  |    3      |  true   |
    |  6 | chd_4  |    1      |         |
    |  7 | chd_5  |    6      |  true   |
    |  8 | chd_6  |    2      |         |
    |  9 | chd_7  |    8      |  true   |
    | 10 | chd_8  |    2      |  true   |                                
    +----+--------+-----------+---------+

我想创建一个这样的数组:

    $categories = array(cat_1 => array(chd_1 => array(chd_2 => true,
                                                      chd-3 => true)

                                       chd_4 => array(chd_5 => true),

                        cat_2 => array(chd_6 => array(chd_7 => true)
                                       chd_8 => true)

我之前不得不使用数组用于此用途,所以它让我难过!

基本上,这段代码允许我做的是在父页面内显示与等于true的类别相关的另一个表的信息,直到到达子页面。

感谢。

0 个答案:

没有答案