2012-06-13 4 views
0

나는 완전히 잘못된 패션이 될 것이라고 가정하고있다.MYSQL INSERT 루프 - PHP를 사용하여

특정 제품 번호가있는 모든 행을 하나의 테이블에서 가져 와서 다른 테이블에 넣고 싶습니다. 사전에

감사합니다.

$addinfo1 =""; 
    //Connect to the database through our include 
include_once "connect_to_mysql.php"; 
$sql = mysql_query("SELECT * FROM tm_interested_buyers WHERE fk_product_id='$productid"); 

while($row = mysql_fetch_array($sql)){ 
$interestedbuyersid = $row["pk_interested_buyers_id"]; 
$fkproductid = $row["fk_product_id"]; 
$fkcustomerid = $row["fk_customer_id"]; 

    $addinfo1 .= mysql_query("INSERT INTO tm_int_buyers_complete (fk_interested_buyers_id, fk_product_id, fk_customer_id) VALUES('$interestedbuyersid','$fkproductid','$fkcustomerid')") or die (mysql_error()); 
echo $addinfo1; 
} 

답변

1

당신은 단지 하나 개의 쿼리가 필요합니다

INSERT INTO tm_int_buyers_complete (fk_interested_buyers_id, fk_product_id, fk_customer_id) 
SELECT pk_interested_buyers_id, fk_product_id, fk_customer_id 
    FROM tm_interested_buyers 
    WHERE fk_product_id='$productid' 
이 select 문으로

(제 2 라인과 아래)입니다 원래 사용자가 지정한 원하는 값을 선택합니다. 이렇게하면 선택한 모든 행을 테이블 (상단 행)에 삽입 할 수 있습니다. SELECT에서

0

를 사용하여 하나의 쿼리 INSERT :

INSERT INTO `tm_int_buyers_complete` (fk_interested_buyers_id, fk_product_id,  fk_customer_id) 
    SELECT fk_interested_buyers_id, fk_product_id, fk_customer_id 
    FROM `tm_interested_buyers` WHERE fk_product_id='$productid"; 
0

사용 INSERT INTO SELECT.

훨씬 쉽습니다.

INSERT INTO tm_int_buyers_complete (`fk_interested_buyers_id`, `fk_product_id`, 
`fk_customer_id`) SELECT tm_interested_buyers.pk_interested_buyers_id, 
tm_interested_buyers.fk_product_id, tm_interested_buyers.fk_customer_id 
FROM tm_interested_buyers WHERE tm_interested_buyers.fk_product_id='$productid'