0

これは簡単な挑戦のように思えますが、私は苦労しています。

2つのデータベーステーブルで結合クエリを使用してレコードを取得し、それらを配列の配列として表します。これにより、ルート配列の各要素が親レコードであり、ネストされた各要素が子レコードを表します。

SQLクエリは正常に機能しており、列がグループ化列である行のセットを返しchannel_keyます。

行から配列構造を設定する試みは次のとおりです。

$rows = $db->get_results($query);
$key = '';
$programmes = array();

foreach ($rows as $row) {
    $programme = array(
        'title' => $row->title,
        'start' => $row->start,
        'duration' => $row->duration
    );

    $programmes[] = $programme;

    if ($key != $row->channel_key) {
        $channels[] = array(
            'key' => $row->channel_key,
            'programme' => $programmes
        );

        $key = $row->channel_key;
        $programmes = array();
    }
}

残念ながら、これはルートレベルの配列(親レコードに対応する配列)にのみデータを入力します。

何か提案はありますか?

ありがとう、ティム

4

2 に答える 2

-1

簡単な解決策ができます。

$rows = $db->get_results($query);
$key = '';
$programmes = array();

foreach ($rows as $row) {
    $programme = array(
        'title' => $row->title,
        'start' => $row->start,
        'duration' => $row->duration
    );

$programmes[$row->channel_key][] = $programme;
}
于 2011-02-24T11:09:16.980 に答える