PHP-将相同的字段插入mysql

标签 php mysql sql

PHP - 插入 Xampp/Mysql

iam 像这样插入 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.. ---------------

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

任何帮助将不胜感激..

最佳答案

您需要将每个产品的详细信息作为数组发布。在标记中,您将使用 <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"而不是name="no_invoice[]" .

关于PHP-将相同的字段插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18544535/

相关文章:

python - 使用python将mysql表一个接一个地连接起来

mysql - 从一张表中获取不同的行和*

mysql - 如何在 SUM 中使用带有 CASE 的 WHERE 子句?

mysql - 按触发器排序排名

mysql - 使用临时表不起作用 - MYSQL

php - 表单未提交

php: 只有数字哈希?

php - MYSQL Reset Auto Increment 提高性能

php - 声明一个空类不好吗?

PHP | 'use function function_name;'(其中函数是 PHP 内置函数)有什么作用?