これは、PHPとMySQLの組み合わせで行うことができます。クエリを次のように変更します:
SELECT section_titel as t1, GROUP_CONCAT(sub_section_titel) as t2
FROM sections LEFT JOIN sub_sections ON section_id = sId
GROUP BY t1
HAVING t2 IS NOT NULL
これにより、次のような結果テーブルが表示されます:
t1 t2
Section One SubOne,SubTwo
Section Three SubThree
(Section Two
の結果が必要な場合 、HAVING t2 IS NOT NULL
を削除します クエリからの条件)
次に、PHPで(mysqli
を想定しています 接続$conn
を使用 )
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
$out = array();
while ($row = mysqli_fetch_array($result)) {
$out[] = array('t1' => $row['t1'], 't2' => explode(',', $row['t2']));
}
print_r($out);
出力:
Array
(
[0] => Array
(
[t1] => Section One
[t2] => Array
(
[0] => SubOne
[1] => SubTwo
)
)
[1] => Array
(
[t1] => Section Three
[t2] => Array
(
[0] => SubThree
)
)
)