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


Получить значение в поле типа "связь"


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

#1 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 30 Июль 2014 - 13:47

Имеется таблица Задания и 2 подтаблицы (работа по заданию и обращения) связанные по полю Задание.
В табл. Работа по заданию есть еще одно поле связи (поле "ссылка") которое связана с таблицей Обращения по ID.
Таким образом мне необходимо формировать связь между этими двумя подтаблицами, но никак не получается это сделать. Подскажите пожалуйста каким образом это можно сделать?

#2 CbCoder

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

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

Отправлено 30 Июль 2014 - 14:44

Не понял вашего вопроса. Вы же создали уже поле связи, в чем проблема его заполнить? Открываете выпадающий список и выбираете нужное обращение, с которым необходима связь.

#3 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 30 Июль 2014 - 14:49

Дело в том, что мне нужно добавить код в доп. действие, которое находится в таблице "Обращения". Нажимаю на кнопку - формируется запись в 2-х таблицах "Обращения" и "Работа по заданию"

#4 CbCoder

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

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

Отправлено 30 Июль 2014 - 15:16

Тогда добавляете обращение, получаете при этом id новой записи и записываете его в поле связи работы по заданиям, т.к. ссылка в поле связи хранится именно в виде id.

#5 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 30 Июль 2014 - 15:17

в этом то и проблема как получить id записи которую я добавлю если ее еще нет?

#6 CbCoder

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

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

Отправлено 30 Июль 2014 - 15:28

ID записи возвращается функцией добавления записи:

$new_id = insert_query($data, "Таблица"); // id добавленной записи лежит в $new_id

Вроде в примерах вычислений это довольно часто встречается.

#7 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 30 Июль 2014 - 15:30

этот пример я видел и даже уже использовал но увы он не сработал:

     $mas2['Назначил']=$user['id'];
	 $mas2['Исполнитель']=$line['Исполнитель'];
	 $mas2['Задание']=$line['Задание']['Номер'];
	 $mas2['Ответ'] = $_REQUEST["comment"];/поле f9642
	 $mas2['Статус выполнения']="Обращение/ответ";
	 $mas2['Статус контроля']="Новый";
	 $mas2['Дата']= date("Y-m-d H:i:s");
	
	 $new_id = insert_query($mas2, "Работа по заданию");
	
	 data_update(84, array('f9602'=>$new_id), "`f9642`=",$_REQUEST["comment"]);


#8 CbCoder

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

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

Отправлено 30 Июль 2014 - 15:47

И причем тут id из "Работы по заданию", не понял? У вас же поле связи с Обращениями, вы сами написали об этом в первом сообщении!

#9 CbCoder

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

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

Отправлено 30 Июль 2014 - 15:48

Да и я вроде достаточно четко об этом написал:

Просмотр сообщенияCbCoder (30 Июль 2014 - 15:16) писал:

Тогда добавляете обращение, получаете при этом id новой записи и записываете его в поле связи работы по заданиям, т.к. ссылка в поле связи хранится именно в виде id.


#10 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 30 Июль 2014 - 15:55

Да тут просто уже заработался и не там брал id. Спасибо - теперь работает.

#11 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 31 Июль 2014 - 10:40

Сейчас столкнулся с проблемой чтобы правильно настроить условия в data_update. Мне нужно условие что замена производилась только тогда когда совпадают поля ответ и дата добавления но в итоге даты добавления не совпадают и я не понимаю почему. Скажите пожалуйста в чем может быть проблема?

Сообщение отредактировал aleks.goodcolor: 31 Июль 2014 - 10:41


#12 CbCoder

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

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

Отправлено 31 Июль 2014 - 12:17

А почему собственно они должны совпадать, не понял?

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

#13 aleks.goodcolor

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

  • Пользователи
  • PipPipPip
  • 198 сообщений
  • Пол:Мужчина
  • Город:Йошкар-ола

Отправлено 31 Июль 2014 - 12:19

Да уже сейчас понял что id я получаю до записи в таблицу "работы по заданию"

Сообщение отредактировал aleks.goodcolor: 31 Июль 2014 - 12:23


#14 CbCoder

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

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

Отправлено 31 Июль 2014 - 12:32

Просмотр сообщенияaleks.goodcolor (31 Июль 2014 - 12:19) писал:

Да уже сейчас понял что id я получаю до записи в таблицу "работы по заданию"

:rolleyes:





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

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