0

テーブルにデータを挿入しようとしていますが、データは別のテーブルから取得されます。現時点では、私のコードは次のようになります。

$result3 = mysql_query('SELECT order_no 
                    FROM orders 
                    WHERE ord_date = "' . ($_POST["ord_date"]) . '"');

while($row=mysql_fetch_array($result3)){ $order=$row['order_no'];}

$result4 = mysql_query('SELECT door_product_no 
                    FROM estimateDescribesDoorProduct 
                    WHERE estimate_no = "' . ($_GET["estimate_no"]) . '"');

while($row=mysql_fetch_array($result4)){ $door=$row['door_product_no'];}

$result5 = mysql_query('SELECT quantity 
                    FROM estimateDescribesDoorProduct 
                    WHERE estimate_no = "' . ($_GET["estimate_no"]) . '"');

while($row=mysql_fetch_array($result5)){ $dquantity=$row['quantity'];}


$sql2="INSERT INTO orderConsistsOfDoor (order_no, door_product_no, product_quantity)

VALUES ('$order','$door','$dquantity')";

このサイトのアドバイスのおかげで、昨日この方法を使用しました。今日の問題は、複数の行を挿入する必要があることです。テーブル「orderConsistsOfDoor」と「estimateDescribesDoorProduct」は、最初の列 (order_no/estimate_no) を除いて同一です。基本的に、見積もり (または注文) がたとえば 3 つの製品で構成されている場合、テーブルにはその見積もり番号を含む 3 つの行があります (ただし、製品番号と数量は異なります)。

私が持っているコードは orderConsistsOfDoor に 1 行しか挿入しないと思いますが、estimate_no が ($_GET["estimate_no"]) であるすべての行を挿入する必要があります。これはforeachか何かでできると思いますが、これを使ったことがないので、どのように機能するのかわかりません。

誰か助けてくれませんか?

4

1 に答える 1

1

1 つのクエリで複数のレコードを挿入するには、次のようにします。

INSERT INTO `table_name` (`foo`, `bar`) VALUES (1, 2), (3, 4), (5, 6);

構文を参照してくださいINSERT

ただし、ライブラリを使用する必要があります。2012 年です。

于 2012-09-04T15:38:26.113 に答える