Tôi không biết bạn đang kiểm tra lỗi, chuẩn bị hay thoát khỏi các truy vấn của mình nhưng vui lòng làm như vậy.
Để tạo mảng của bạn, bạn có thể thực hiện với điều này:
$list = [];
$countries = $link->query("SELECT country_id, country_name FROM countries ...");
while ($country_row /*fetch from $countries*/) {
$country_id = $country_row['country_id'];
$country_info = [
'country_id' => $country_id,
'country_name' => $country_row['country_name'],
'country_cities' => []
];
$cities_stmt = "SELECT city_id, city_name FROM cities where $country_id...";
$cities = $link->query($cities_stmt);
while ($city_row /*fetch from $cities*/) {
$city_id = $city_row['city_id'];
$country_info['country_cities'][$city_id] = [
'city_id' => $city_id,
'city_name' => $city_row['city_name']
];
}
$list[$country_id] = $country_info;
}
Để hiển thị mảng của bạn, bạn có thể làm:
foreach ( $list as $country_id => $country_info ) {
echo "Country ID: $country_id<br />";
echo 'Country Name: ' . $country_info['country_name'] . '<br />';
echo 'Country Cities:<br />';
$cities = $country_info['country_cities'];
foreach ( $cities as $city_id => $city_info ) {
echo " City ID: $city_id<br />";
echo ' City Name: ' . $city_info['city_name'] . '<br />';
}
echo '<br />';
}
Ngoài ra, nếu bạn biết id quốc gia hoặc id thành phố, bạn có thể thực hiện:
echo 'City Name: ' . $list[$country_id]['country_cities'][$city_id]['city_name'] . '<br />';