#1
Отправлено 08 Апрель 2014 - 07:10
В таблице Данные в режиме таблицы выделяю "галочками" несколько нужных записей.
Никуда не переходя, через Дополнительно (или как-то еще?) запускаю вычисление (скрипт?), которое сделает следующее:
создаст новую запись в таблице Связи и ее ID поместит в одно из полей всех ранее выделенных записей таблицы Данные.
Как это сделать? Если через Дополнительные действия, то ведь вычисление (скрипт) будет выполнен столько раз, сколько записей я выделил в таблице Данные и создаст несколько записей в таблице Связи, хотя нужна только одна,
Использовать глобальную переменную, как флаг, чтобы в таблице Связи создавалась только одна запись? Как потом ее сбрасывать?
Может, я чего-то не так понимаю и есть изящное решение этого вопроса?
Спасибо!
https://info.crm-master.info
#2
Отправлено 08 Апрель 2014 - 07:53
Tony999 (08 Апрель 2014 - 07:10) писал:
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#3
Отправлено 08 Апрель 2014 - 09:05
https://info.crm-master.info
#4
Отправлено 08 Апрель 2014 - 09:10
#5
Отправлено 08 Апрель 2014 - 09:25
Сообщение отредактировал Tony999: 08 Апрель 2014 - 09:27
https://info.crm-master.info
#6
Отправлено 08 Апрель 2014 - 11:16
Tony999 (08 Апрель 2014 - 09:25) писал:
global $sv_ID; $new_data=array(); $new_data['status'] = '0'; //раньше был баг при добавлении новой записи, статус неправильно вносился $new_data['user_id'] = $user['id']; // текущий пользователь if (!$sv_ID) $sv_ID = data_insert('XXX',EVENTS_ENABLE,$new_data); // ХХХ - номер таблицы Связи // здесь выполняете любые действия $line['Связи'] = $sv_ID; ....Суть в том, что строка с добавлением новой записи в таблицу отработает только один раз и в глобальную переменную $sv_ID будет занесен ID созданной записи.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#7
Отправлено 08 Апрель 2014 - 11:45
Правильнее:
global $sv_ID; if (!$sv_ID) { // переменная пока пуста, значит добавляем новую запись $new_data = array(); $new_data['f111'] = ... ; // заполняете нужные поля для новой записи в таблице Связи ...... // добавляем запись и помещаем id новой записи в нашу переменную $sv_ID = data_insert(222, EVENTS_ENABLE, $new_data); // 222 - id таблицы Связи } $line['Поле связи с таблицей "Связи"'] = $sv_ID; ....
#8
Отправлено 09 Апрель 2014 - 07:21
Или есть какой-либо флаг, чтобы продолжить существующий код после выполнения доп. действий? Ведь программа заранее знает сколько строк в таблице я выбрал "галочками"
Я понятно объясняю?
Спасибо!.
https://info.crm-master.info
#9
Отправлено 09 Апрель 2014 - 09:50
global $sv_ID; if (!$sv_ID) { $new_data = array(); $new_data['f111'] = ... ; ...... $sv_ID = data_insert(222, EVENTS_ENABLE, $new_data); // 222 - id таблицы Связи } $line['Поле связи с таблицей "Связи"'] = $sv_ID; .... // тут добавляете доп.код для каждой записи после создания связи
#10
Отправлено 09 Апрель 2014 - 10:14
Этот код ведь выполнится столько раз, сколько "галочек" я поставил в таблице Данные перед доп. действием. А мне это не нужно, я хочу делать взаимозависимые вычисления над всем массивом выделенных записей таблицы Данные. Таблица Связи мне нужна лишь как связь (как нумерованный флаг), чтобы знать над какими записями таблицы Данные были выполнены вычисления.
Сообщение отредактировал Tony999: 09 Апрель 2014 - 10:28
https://info.crm-master.info
#11
Отправлено 09 Апрель 2014 - 10:33
Tony999 (09 Апрель 2014 - 10:14) писал:
Этот код ведь выполнится столько раз, сколько "галочек" я поставил в таблице Данные перед доп. действием. А мне это не нужно, я хочу делать взаимозависимые вычисления над всем массивом выделенных записей таблицы Данные. Таблица Связи мне нужна лишь как связь (как нумерованный флаг), чтобы знать над какими записями таблицы Данные были выполнены вычисления.
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#12
Отправлено 09 Апрель 2014 - 11:04
Ок, глобальная переменная, как счетчик, массив по ее индексу... и все 3 записи (или сколько там проходов будет) - все у меня!
Но как я узнаю, что выбранные записи "кончились", что их было именно 3, что мне теперь можно делать вычисления над моим массивом и результат этих вычислений разнести по полям той же таблицы Данные или другой таблицы, с которой имеется связь.,
https://info.crm-master.info
#13
Отправлено 09 Апрель 2014 - 14:27
Tony999 (09 Апрель 2014 - 11:04) писал:
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#14
Отправлено 09 Апрель 2014 - 14:40
Цитата
Есть массив $_SESSION[$ses_id]["sel111"], где 111 - id таблицы. Число элементов и есть число выделенных записей.
#15
Отправлено 09 Апрель 2014 - 15:49
CbCoder (09 Апрель 2014 - 14:40) писал:
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#16
Отправлено 09 Апрель 2014 - 18:21
Кстати, а номера (ID) выделенных записей тоже ведь должны где-то храниться?
Сообщение отредактировал Tony999: 12 Апрель 2014 - 10:49
https://info.crm-master.info
#17
Отправлено 12 Апрель 2014 - 10:55
Tony999 (09 Апрель 2014 - 18:21) писал:
Кстати, а номера (ID) выделенных записей тоже ведь должны где-то храниться?
Хочется уж закончить эту тему.
https://info.crm-master.info
#18
Отправлено 12 Апрель 2014 - 14:33
Цитата
В этом же массиве и хранятся как раз.
#19
Отправлено 13 Апрель 2014 - 00:26
https://info.crm-master.info
#20
Отправлено 14 Апрель 2014 - 09:36
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных