如何选择不同的层次结构节点(MySQL)

时间:2012-07-08 10:38:41

标签: php mysql database codeigniter

我正在使用邻接模型列表,例如:

父杰克id 1

children some_name parent_id 1

children some_name parent_id 1

children some_name parent_id 1

因此,当我进行查询时,我们可以说深度约为1 lvl,它会渲染:

jack - > some_name

jack - > some_name

jack - > some_name

但我怎么能让它像这样呈现:

jack - > {

some_name

some_name

some_name

}

可能吗?,因为关键字DISTINCT和GROUP BY无效:(

1 个答案:

答案 0 :(得分:0)

考虑使用JSON格式化数据。

使用json_encode:

$persons = array ();
while ($row = mysql_fetch_assoc($result))
{
    if (empty($persons[$row['person']]))
        $persons[$row['person']] = array ();
    array_push ($persons[$row['person']], $row['child']);
}

echo json_encode ($persons);

它应该导致以下结果:

{
    'jack': [
        'some_name',
        'some_name',
        'some_name'
    ]
}

获得了https://stackoverflow.com/a/1951130/443219

中的大部分代码