Bạn có thể làm điều này với sự kết hợp của PHP và MySQL. Thay đổi truy vấn của bạn thành sau:
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
Điều này sẽ cung cấp cho bạn một bảng kết quả như sau:
t1 t2
Section One SubOne,SubTwo
Section Three SubThree
(Nếu bạn muốn có kết quả cho Section Two
, loại bỏ HAVING t2 IS NOT NULL
điều kiện từ truy vấn)
Sau đó, trong PHP của bạn (tôi giả sử là mysqli
có kết nối $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);
Đầu ra:
Array
(
[0] => Array
(
[t1] => Section One
[t2] => Array
(
[0] => SubOne
[1] => SubTwo
)
)
[1] => Array
(
[t1] => Section Three
[t2] => Array
(
[0] => SubThree
)
)
)