0
Присвоить значение из родительской таблицы
Автор nipk, 05 февр. 2016 11:40
Сообщений в теме: 10
#1
Отправлено 05 Февраль 2016 - 11:40
Ситуация в следующем:
Есть таблица "1", она связана с таблицей "2". При заполнении табл 1 просто выбираем значение.
Задача: надо чтоб в таблице "3", которая является подтаблицей таблицы "1", автоматом присваивалось значение ячейки, которое выбирается при заполнении табл "1".
$line['ячейка табл 3'] = $line['табл 1']['ячейка табл 1']; - не работает(((
Есть таблица "1", она связана с таблицей "2". При заполнении табл 1 просто выбираем значение.
Задача: надо чтоб в таблице "3", которая является подтаблицей таблицы "1", автоматом присваивалось значение ячейки, которое выбирается при заполнении табл "1".
$line['ячейка табл 3'] = $line['табл 1']['ячейка табл 1']; - не работает(((
#2
Отправлено 05 Февраль 2016 - 11:51
Цитата
$line['табл 1']
Имена таблиц в переменной $line не используются, только поля. В случае вложенных массивов это должно быть поле связи, например $line['поле связи']['поле из связанной таблицы']. Для подтаблиц это соответственно поле связи с родительской таблицей. В режиме просмотра подтаблицы вы его не увидите, оно скрывается автоматом, но можно зайти в настройки подтаблицы и увидеть его имя, затем подставить вместо 'табл 1'.
#3
Отправлено 10 Февраль 2016 - 12:02
Возможно ли присвоить значение ячейки из одной таблица другой ячейке другой таблицы автоматически, с учетом того, что таблицы не связаны.
#4
Отправлено 10 Февраль 2016 - 14:20
Если таблицы не связаны явно через поле связи, то вариант один - использовать SQL-запрос к БД на изменение строки.
На всякий случай, разъясню: в таблицах КБ нет "ячеек" как таковых, т.к. это не электронная таблица (как MS Excel), а типичная база данных (как MS Access например). Это две кардинально разные модели хранения данных, с совершенно различным механизмом доступа к ним.
На всякий случай, разъясню: в таблицах КБ нет "ячеек" как таковых, т.к. это не электронная таблица (как MS Excel), а типичная база данных (как MS Access например). Это две кардинально разные модели хранения данных, с совершенно различным механизмом доступа к ним.
#5
Отправлено 10 Февраль 2016 - 14:48
Про БД и ЭТ это ясно. Просто так проще объяснить задачу.
В КБ sql - запрос в каком месте необходимо указывать?
В КБ sql - запрос в каком месте необходимо указывать?
#6
Отправлено 10 Февраль 2016 - 15:07
Это вопрос к вам скорее, где именно и при каких условиях (событиях) вы собираетесь менять значение поля.
#7
Отправлено 10 Февраль 2016 - 15:10
т.е я правильно понял, что запрос прописать в поле которое будет автоматически добавляться при внесении данных в другой таблице?
#8
Отправлено 10 Февраль 2016 - 15:32
Что значит "запрос прописать в поле"? Это как? Запросы пишутся через функции внутри PHP-кода, например вычислений, или отчетов, или заданий крон и т.д., в зависимости от того, где вам нужно этот запрос запускать (потому и спросил, когда именно нужно заполнять поле). Почитайте документацию по вычислениям и форум (чуть ли не в каждой второй теме про запросы спрашивают).
#10
Отправлено 10 Февраль 2016 - 16:10
Понятия "вычисления к полю" нет как такового. Вычисления привязаны к таблицам, и выполняются по определенным событиям. Например, событие изменения поля, или событие отображения поля. В вашем случае логично привязать вычисление с запросом либо на событие изменения поля-источника, либо на событие отображения поля-получателя. С точки зрения производительности рекомендуется первый вариант.
#11
Отправлено 10 Февраль 2016 - 16:14
Спасибо за ответ
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных