CbCoder (05 Май 2015 - 16:49) писал:
...
РАБОТАЕТ!!!
Огромное Спасибо!
Итак, подведу итог - чтобы было всё рядом.
Имеем:
таблица Компании, и связанная подтаблица Контакты.
часть полей - текст, либо списки, часть - связи с другими (отдельными, вспомогательными) таблицами
Требуется:
перенести нужные нам данные из строки Компании в новую таблицу Компании-клиенты,
при этом привязать имеющиеся записи в Контакты к строке в новой таблице.
Решение:
посредством Дополнительных действий
//заполняем массив ins_data значениями из старой таблицы "Компания" $ins_data['Название'] = $line['Название компании']; //простой текст $ins_data['Форма собственности'] = $line['Форма собственности']['ID']; // поля связи - это массивы, для копирования нужно брать ID связанной строки. Здесь хранится ссылка на строку из вспомогательной таблицы. $ins_data['Значимость'] = $line['Значимость']; //список из нескольких строк, аналогично обычному тексту $ins_data['Комментарий'] = $line['Комментарий']; //текст, многострочный //теперь выполняем запрос на добавление строки-массива ins_data в новую таблицу Компании-клиенты, результат функции - это ID записи, запоминаем в переменной new_id $new_id = insert_query($ins_data, "Компании-клиенты"); //теперь обновляем записи в связанной подтаблице Контакты $upd_data['Связь с "Компании-клиенты"'] = $new_id; // заносим в поле связи id вновь добавленной записи update_query($upd_data, "Контакты", "`Компания`=".$line['ID']); // обновляем связанные строки. Новые_данные, таблица, условие. //на время отладки оставляем echo "<= Строки успешно добавлены";