Связанные поля в таблице sql и вывод в php

Тема в разделе "PHP", создана пользователем rasandrey, 26 май 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    Подскажите, пожалуйста, как лучше всего решить такую задачу:
    есть 2 таблицы, назовем их oblast и towns. Таблица oblast содержит такие поля: id_oblast и name_oblast(областя). Таблица towns содержит такие поля: id_town, id_oblast и name_town.(города). Как можно связать эти таблицы по полю id_oblast?

    При запросе
    Код:
    SELECT * FROM towns
    я хочу получить в php массив, который будет иметь такой формат:

    PHP:
    $towns = array('id_oblast' => array(
    id_town => 'name_town',
    ))
     
  2. jo0o00nyy

    jo0o00nyy Постоялец

    Регистр.:
    12 май 2010
    Сообщения:
    65
    Симпатии:
    27
    Самый простой способ + id_oblast должены быть индексированы
    Код:
    SELECT * 
    FROM oblast o, towns t
    WHERE
    o.id_oblast = t.id_oblast
    
    Довольно странная структура массива, ты уверен в ней?
     
  3. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    не уверен, поэтому и прошу совета. В идеале мне нужно сделать 2 зависимых select "Областей и городов", вот пытаюсь это сделать, может есть какой-то другой вариант?
     
  4. kud

    kud Постоялец

    Регистр.:
    18 фев 2009
    Сообщения:
    89
    Симпатии:
    11
    PHP:
    $result mysql_query("SELECT * FROM town");
      if (
    mysql_num_rows($result) > 0) {
        while(
    $row mysql_fetch_array($result)) {
           
    $town[$row['id_oblast']][$row['id_town']] = $row['town_name'];
        }
      }

     
  5. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
  6. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Проще вывести список областей, а после выбора аяксом заполнить второй селект данными о городах выбранной области.
     
  7. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    Ищите "Связанные списки"
     
Статус темы:
Закрыта.