0

隣接モデル リストを使用しています。たとえば、次のようになります。

親ジャック ID 1

子供 some_name 親 ID 1

子供 some_name 親 ID 1

子供 some_name 親 ID 1

したがって、クエリを作成すると、深度が約 1 レベルであると言えます。これは次のようにレンダリングされます。

ジャック -> some_name

ジャック -> some_name

ジャック -> some_name

しかし、どうすれば次のようにレンダリングできますか:

ジャック -> {

some_name

some_name

some_name

}

キーワード DISTINCT と GROUP BY は役に立たないので、それは可能ですか? :(

4

1 に答える 1

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からほとんどのコードを取得しました

于 2012-07-08T11:15:20.000 に答える