Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Одинаковые значения в разные таблицы
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Одинаковые значения в разные таблицы

Страниц (1): [1]
 

1. Elegant - 29 Мая, 2012 - 07:31:05 - перейти к сообщению
Здрасте! Есть такой код:
PHP:
скопировать код в буфер обмена
  1. mysql_connect (localhost , $login, $pass);
  2. mysql_query("SET NAMES 'utf8'");
  3. mysql_query("INSERT INTO `$db`.`s_orders` (`id`, `delivery_id`, `delivery_price`, `payment_method_id`, `paid`, `payment_date`, `closed`, `date`, `user_id`, `name`, `address`, `phone`, `email`, `comment`, `status`, `url`, `payment_details`, `ip`, `total_price`, `note`, `discount`, `separate_delivery`, `modified`) VALUES (NULL, '2', '0.00', '5', '0', '', '0', '', '0', 'имя', '', '+77074969888', 'wap4444@mail.ru', '', '0', NULL, '', '', '15000', '', '0', '0', CURRENT_TIMESTAMP)");
  4. mysql_query("INSERT INTO `$db`.`s_purchases` (`id`, `order_id`, `product_id`, `variant_id`, `product_name`, `variant_name`, `price`, `amount`, `sku`) VALUES (NULL, '', '0', NULL, 'ПЛАТЬЕ', '', '0.00', '0', '')");
  5.  


в s_orders id - автоинкремент ,нужно сделать так что бы то значение которое он присвает ID в s_orders, также присваивалось в s_purchases order_id
Т.е. если присвоился в s_orders id = 25, то и в s_purchases order_id должен быть 25
2. tuareg - 29 Мая, 2012 - 07:38:14 - перейти к сообщению
Задача поменялась? Улыбка
mysql-insert-id
3. Elegant - 29 Мая, 2012 - 07:46:48 - перейти к сообщению
Да, поменялась. начал изучать дальше и такое всплыло...А можно подробней. Т.к. я учусь пока и мне не понятно многое
4. tuareg - 29 Мая, 2012 - 07:55:51 - перейти к сообщению
Elegant пишет:
Я учусь пока и мне не понятно многое

А что конкретно не понятно? Там же по ссылке пример есть? Только там вывод на экран, а Вам надо в переменную. и эту переменную подставьте вместо
PHP:
скопировать код в буфер обмена
  1.  
  2. ....// запрос
  3. $insert_id=mysql_insert_id();
  4. mysql_query("INSERT INTO `$db`.`s_purchases` (`id`, `order_id`, `product_id`, `variant_id`, `product_name`, `variant_name`, `price`, `amount`, `sku`) VALUES (NULL, ".$last_id.", '0', NULL, 'ПЛАТЬЕ','' , '0.00', '0', '')");
  5.  

P.S Числовые данные можно не брать ''
5. Elegant - 29 Мая, 2012 - 07:58:59 - перейти к сообщению
Это вам в силу опыта кажется легко..)))
А мне пока трудно догоняемо, что такое переменные и тд...
Но вам большое СПАСИБО!! Позже буду пробовать
(Добавление)
Цитата:
mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу...


А если у меня такая ситуация - s_orders id - автоинкремент. s_purchases id - тоже автоинкремент и они разные.
То mysql_insert_id() не вставит значение из s_purchases id ??? надо же что бы вставил из s_orders id
6. tuareg - 29 Мая, 2012 - 08:12:47 - перейти к сообщению
Elegant пишет:
Это вам в силу опыта кажется легко..)))

Может быть.
Давайте проще. Есть таблица table1 и table2
PHP:
скопировать код в буфер обмена
  1.  
  2. /*Вставляем в первую таблицу*/
  3. mysql_query("INSERT INTO `table1` (`id`) VALUES (0)");
  4. /*Получили id*/
  5. $insert_id=mysql_insert_id();
  6. /*Вставляем во вторую таблицу*/
  7. mysql_query("INSERT INTO `table2` (`id`) VALUES (".$insert_id.")");
  8.  
7. Elegant - 29 Мая, 2012 - 08:16:49 - перейти к сообщению
Вот теперь вышло! Спасибо большое! Усвоил урок!

 

Powered by ExBB FM 1.0 RC1