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


Присвоить значение из родительской таблицы


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

#1 nipk

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

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

Отправлено 05 Февраль 2016 - 11:40

Ситуация в следующем:
Есть таблица "1", она связана с таблицей "2". При заполнении табл 1 просто выбираем значение.
Задача: надо чтоб в таблице "3", которая является подтаблицей таблицы "1", автоматом присваивалось значение ячейки, которое выбирается при заполнении табл "1".
$line['ячейка табл 3'] = $line['табл 1']['ячейка табл 1']; - не работает(((

#2 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Февраль 2016 - 11:51

Цитата

$line['табл 1']

Имена таблиц в переменной $line не используются, только поля. В случае вложенных массивов это должно быть поле связи, например $line['поле связи']['поле из связанной таблицы']. Для подтаблиц это соответственно поле связи с родительской таблицей. В режиме просмотра подтаблицы вы его не увидите, оно скрывается автоматом, но можно зайти в настройки подтаблицы и увидеть его имя, затем подставить вместо 'табл 1'.

#3 nipk

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

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

Отправлено 10 Февраль 2016 - 12:02

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

#4 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Февраль 2016 - 14:20

Если таблицы не связаны явно через поле связи, то вариант один - использовать SQL-запрос к БД на изменение строки.

На всякий случай, разъясню: в таблицах КБ нет "ячеек" как таковых, т.к. это не электронная таблица (как MS Excel), а типичная база данных (как MS Access например). Это две кардинально разные модели хранения данных, с совершенно различным механизмом доступа к ним.

#5 nipk

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

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

Отправлено 10 Февраль 2016 - 14:48

Про БД и ЭТ это ясно. Просто так проще объяснить задачу.

В КБ sql - запрос в каком месте необходимо указывать?

#6 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Февраль 2016 - 15:07

Это вопрос к вам скорее, где именно и при каких условиях (событиях) вы собираетесь менять значение поля.

#7 nipk

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

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

Отправлено 10 Февраль 2016 - 15:10

т.е я правильно понял, что запрос прописать в поле которое будет автоматически добавляться при внесении данных в другой таблице?

#8 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Февраль 2016 - 15:32

Что значит "запрос прописать в поле"? Это как? Запросы пишутся через функции внутри PHP-кода, например вычислений, или отчетов, или заданий крон и т.д., в зависимости от того, где вам нужно этот запрос запускать (потому и спросил, когда именно нужно заполнять поле). Почитайте документацию по вычислениям и форум (чуть ли не в каждой второй теме про запросы спрашивают).

#9 nipk

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

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

Отправлено 10 Февраль 2016 - 16:04

Просмотр сообщенияCbCoder (10 Февраль 2016 - 15:32) писал:

Запросы пишутся через функции внутри PHP-кода, например вычислений, или отчетов, или заданий крон и т.д.,
Ну вот и я про вычисления к полю.

#10 CbCoder

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

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Февраль 2016 - 16:10

Понятия "вычисления к полю" нет как такового. Вычисления привязаны к таблицам, и выполняются по определенным событиям. Например, событие изменения поля, или событие отображения поля. В вашем случае логично привязать вычисление с запросом либо на событие изменения поля-источника, либо на событие отображения поля-получателя. С точки зрения производительности рекомендуется первый вариант.

#11 nipk

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

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

Отправлено 10 Февраль 2016 - 16:14

Спасибо за ответ :)





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

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