Перейти к содержимому


При введении города в карточку клиента должны по таблицам подтягиваться страна и регион.


Сообщений в теме: 3

#1 Radik

    Активный участник

  • Пользователи
  • PipPipPip
  • 117 сообщений

Отправлено 21 Май 2013 - 12:52

Есть три таблицы справочника
1. Города http://127.0.0.1:755...s.php?table=211
city_id
country_id
region_id
name

2. Регионы http://127.0.0.1:755...s.php?table=201
region_id
country_id
city_id
name

3. Страны http://127.0.0.1:755...s.php?table=191
country_id
city_id
name

При выборе города в карточке контрагента должны подтягиваться отдельно поля из таблиц Регион и Страна.
Как это сделать?

Сообщение отредактировал Radik: 21 Август 2013 - 17:07


#2 Гость_Roman_*

  • Гости

Отправлено 22 Май 2013 - 07:40

Добавьте вычисление на изменение поле "Город".
$line['Регион'] = $line['Город']['region_id'];
$line['Страна'] = $line['Город']['country_id'];
В данном случае поля "Регион" и "Страна" также должны быть полями связи.

#3 Radik

    Активный участник

  • Пользователи
  • PipPipPip
  • 117 сообщений

Отправлено 21 Август 2013 - 17:08

Не получается, так как таблицы связаны межу собой только по city_id (цифра).
По имени города нет соответствия по таблицам регион и страна. Как вытянуть соответствие по имени города - id города и по id вытянуть из таблиц Регионы и Страны имена региона и страны?

#4 Гость_Roman_*

  • Гости

Отправлено 22 Август 2013 - 08:57

Например, 333 - id поля "region_id" в таблице "Регионы", а // 555 - id поля "country_id" в таблице "Страны", тогда код вычисления будет такой:
$result = data_select_field(201, "`id`", "`f333`=",$line['Город']['region_id']);
if ($row = sql_fetch_assoc($result))
    $line['Регион'] = $row['id'];
$result = data_select_field(191, "`id`", "`f555`=",$line['Город']['country_id']);
if ($row = sql_fetch_assoc($result))
    $line['Страна'] = $row['id'];






Количество пользователей, читающих эту тему: 4

0 пользователей, 4 гостей, 0 анонимных