Здравствуйте. Столкнулся с такой задачей...
Я создал две разных таблицы - КОНТРАГЕНТЫ и КЛИЕНТЫ...
Нужно сделать так, чтобы при определённом значении или действии (в поле "СДЕЛАТЬ КЛИЕНТОМ" для таблицы КОНТРАГЕНТЫ ), данные из таблицы КОНТРАГЕНТЫ копировались в таблицу КЛИЕНТЫ.
Подскажите как и какими методами можно это реализовать
1
Данные в таблицах
Автор vk883, 02 сент. 2009 13:44
Сообщений в теме: 3
#1
Отправлено 02 Сентябрь 2009 - 13:44
#2
Отправлено 02 Сентябрь 2009 - 14:46
Создаете поле типа "автообновление" в таблице Контрагенты и забиваете туда код, проверяющий определенное значение. Если проверка сработала - этим же кодом переносите запись из одной таблицы в другую.
Пример:
Примечение: id таблицы виден в адресной строке браузера при открытии соответсвующей таблицы (table=число, где число - и есть id таблицы)
Пример:
$table = data_table("Контрагенты","id={ID}"); if ($table['перенос']==1) { // здесь задается условие переноса по какому либо полю mysql_query("UPDATE ".DATA_TABLE." SET table_id=42 WHERE id={ID}"); // 42 - id таблицы Клиенты, если у вас другое id, ставьте его }
Примечение: id таблицы виден в адресной строке браузера при открытии соответсвующей таблицы (table=число, где число - и есть id таблицы)
#3
Отправлено 02 Сентябрь 2009 - 19:03
Всё работает, только одно есть "НО". Как сделать так, чтобы данные из одной таблицы в другую не удалялись, а копировались... А точнее нужно добиться того, чтобы данные заданных полей из одной талицы копировались в другую (не удалялись из первой таблицы).
#4
Отправлено 03 Сентябрь 2009 - 10:00
vk883 (2.9.2009, 20:03) писал:
Всё работает, только одно есть "НО". Как сделать так, чтобы данные из одной таблицы в другую не удалялись, а копировались... А точнее нужно добиться того, чтобы данные заданных полей из одной талицы копировались в другую (не удалялись из первой таблицы).
Тогда модифицируем код следующим образом:
$table = data_table("Контрагенты","id={ID}"); if ($table['перенос']==1) { // здесь задается условие переноса по какому либо полю $field_str = "table_id"; $value_str = "42"; // id таблицы Клиенты // Выбираем все поля из текущей строки $sqlQuery = "SELECT * FROM ".DATA_TABLE." WHERE id={ID}"; $result = mysql_query($sqlQuery); $row = mysql_fetch_assoc($result); foreach ($row as $field => $value) { if (substr($field,0,1)=="f") { $field_str .= ",".$field; $value_str .= ",'".form_sql($value)."'"; } } // Вставляем новую строку $sqlQuery = "INSERT INTO ".DATA_TABLE." ($field_str) VALUES ($value_str)"; mysql_query($sqlQuery); }
Следует учесть что в обоих примерах поля копируются просто "один к одному". Если вам нужен более "конкретный" перенос полей, то код нужен несколько иной.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных