0

PHP - 插入 Xampp/Mysql

我正在用这样的插入 php 制作产品数据库

  $save_sale = mysql_query("INSERT INTO sale(no_receipt,no_confirm,time,date,day,total) values
         ('$_POST[no_receipt]',
          '$_POST[no_confirm]',
          '$hour_now',
          '$date_now',
          '$day_now',
          '$_POST[total]')")
         or die(mysql_error());
  $save_sale_detail =  mysql_query("INSERT INTO sale_detail(no_receipt,id_product,quantity,price,subtotal) values
         ('$_POST[no_receipt]',
          '$_POST[id_product]',
          '$_POST[quantity]',
          '$_POST[price]',
          '$_POST[subtotal]')")
         or die(mysql_error());

但每次我提交不同数量、价格和小计的多个产品订单时,它只会保存一笔交易。我的意思是在销售储蓄中创建 no_receipt,然后sale_detail在销售之后创建 no_receipt 。示例:销售

     No. Receipt  = 001
     No. Confirm  = 205850 <-- it just confirmation order
     hour         = 17.00
     date         = 31/08/2013
     day          = saturday
     total        = $770 <-- subtotal calculation

     sale_detail
     No. Receipt  = 001
     id_product   = 1 <-- let say it's a hat
     quantity     = 3
     price        = $150 <-- price by each product
     subtotal     = $450 <-- price * quantity
     ----- and come other product order ---
     sale_detail
     No. Receipt  = 001
     id_product   = 4 <-- let's say it's a glasses
     quantity     = 4
     price        = $80 <-- price by each product
     subtotal     = $320 <-- price * quantity
     ----- and come other.. ---------------

但我卡住了,只能保存一笔交易,如果销售_detail成功保存,销售仍然是空的。

任何帮助将不胜感激..

4

1 回答 1

0

您需要将每个产品的详细信息作为数组发布。在您将使用的标记中<input name="id_product[]"..../>

这将在 PHP 中作为数组接收(echo gettype($_POST['id_product'])将输出array)。

然后您可以循环使用或其他内容,并多次foreach ($_POST['id_product'] as $id)调用您的查询(每次循环迭代一次)。INSERT INTO sale_detail...

请注意,您只想放入实际上是每个项目的值[]的属性。name例如,该no_invoice字段是单个值,而不是数组,因此您只需使用name="no_invoice"and not name="no_invoice[]"

于 2013-08-31T05:59:08.520 回答