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


Копирование значений поля в другую таблицу


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

#1 TelecomMedia

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

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

Отправлено 13 Апрель 2014 - 10:17

Есть 2 таблицы - КЦ и Заявки с КЦ.

Необходимо, чтобы при изменении поля "Оценка заявки" в таблице "Заявки с КЦ", соответствующее значение копировалось в поле "Оценка заявки" таблицы "КЦ".

$sqlQuery = "UPDATE ".DATA_TABLE."541 SET f11551='".$line['Оценка заявки']."' WHERE f11451='".$line['ID']."'";
$res = mysql_query($sqlQuery);

где:
541 - таблица КЦ
f11551 - поле "Оценка заявки" таблицы КЦ
f11451 - поле "Связь с КЦ" в таблице "КЦ" (поле связи)

Вычисление располагется в таблице "Заявки с КЦ" и срабатывает на Сохранение в таблице или Отображение поля "Оценка заявки"

#2 CbCoder

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

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

Отправлено 14 Апрель 2014 - 09:54

А вопрос то в чем? Код вычисления вы уже сами привели, как я понял.

#3 TelecomMedia

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

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

Отправлено 14 Апрель 2014 - 11:06

Вопрос в том, что данное вычисление не срабатывает

Ни при изменении полей, ни при отображении

#4 CbCoder

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

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

Отправлено 14 Апрель 2014 - 11:38

1. Используйте рекомендуемый код для запросов, так будет проще выявить ошибки. У вас сейчас возможные ошибки в запросе просто не выйдут на экран.

data_update(541, array(f11551 => $line['Оценка заявки']), "f11451=",$line['ID']);

2. Используйте событие на изменение поля, а не сохранение записи или отображение (хотя не должно повлиять на работу в данном примере, но рекомендуется).

#5 TelecomMedia

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

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

Отправлено 14 Апрель 2014 - 14:32

Подставил . Если я правильно понял, то вычисление нужно размещать в таблице "Заявки с КЦ" (откуда необходимо скопировать данные)

Выдало ошибку:

Заявки с КЦ.Оценка заявки :

1: data_update(541, array(f11551 => $line['f9631']), "f11451=",$line['id']);

Ошибка SQL запроса:

UPDATE `f_data541` SET `f11551`='' WHERE f11451=1947

Unknown column 'f11451' in 'where clause'

#6 CbCoder

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

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

Отправлено 14 Апрель 2014 - 15:02

Ну собственно вот и ошибка - в таблице 541 нет поля с id 11451





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

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