Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przechowuj wyniki MySQL w tablicy PHP dla dwóch zapytań

Nie wiem, czy sprawdzasz błędy, przygotowujesz lub unikasz zapytań, ale zrób to.

Aby wygenerować tablicę, możesz to zrobić w ten sposób:

    $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;
    }

Aby wyświetlić swoją tablicę, możesz:

    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 />';
    }

Ponadto, jeśli znasz identyfikator kraju lub miasta, możesz:

    echo 'City Name: ' . $list[$country_id]['country_cities'][$city_id]['city_name'] . '<br />';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przeładuj dane MySQL w DIV za pomocą Ajax

  2. Wewnętrzny błąd serwera PHP 500 podczas wywoływania Volley

  3. MySQL ignoruje ograniczenie NOT NULL

  4. Delphi - TSQLQuery pozostawia proces na MySQL nawet po zwolnieniu

  5. MySQL - Jak uruchomić wiele zapytań aktualizujących w jednej linii?