PHP mysql INSERT一次插入多条表单数据的方法

购物车页面
<form action="order.php" method="post">
<!--这里是个while循环 ,购物车里面有多少种物品,每种物品的ID和数量是不固定也没有规律的-->
<div>
物品ID<input type="text" name="pid" value="10">
数量<input type="text" name="amount" value="5">
</div>
<div>
物品ID<input type="text" name="pid" value="13">
数量<input type="text" name="amount" value="1">
</div>
<div>
物品ID<input type="text" name="pid" value="14">
数量<input type="text" name="amount" value="2">
</div>

<input type="submit" name="submit" value="提交购物车">
</form>

order.php 提交订单页面

<?php
$ordernumber = strtotime("now");//订单编号用时间戳
$uid = '1';//用户的ID
$time = 'now()';//提交订单的时间
$status = '0';//订单的默认状态都是0

$sql = "insert into myorder (pid,amount,ordernumber,time,uid,status) VALUES

('10','5','$ordernumber',$time,$uid,$status),
('13','1','$ordernumber',$time,$uid,$status),
('14','2','$ordernumber',$time,$uid,$status)";

mysql_query($sql,$conn);//$conn是数据库链接
//购物车页面中的物品的种类和数量还有ID都不是固定的
//在SQL语句VALUES后面那一块,我不懂应该怎么写
//有人说要用到foreach 但是我太菜了
//希望哪位路过的好心人能帮我修改购物车页面和提交订单页面的代码让它能
//万分感谢,好人一生平安,就这些积分了略表心意。
?>

$sql = "insert into myorder (pid,amount,ordernumber,time,uid,status) VALUES ";
foreach ($gouwuche as $k => $v) {
$sql .= "(".$v['pid'].",".$v['amount'].",'$ordernumber','$time',1,0),";
}
$sql = substr($sql, 0,strlen($sql)-1);
把$gouwuche换你购物车里的内容,应该就可以了追问

能否再劳烦再指教以下 表单处以及$gouwuche数组的获取方法,我是自己琢磨的,从来没有经过系统的学习,再次感谢,
把表单中的input改为 name="pid[]"和 name="pid[amount]" 然后POST收到的是两个数组 要把他们合并或者这个$gouwuche 应该怎么写,
老哥我先给您采纳了吧,如果您看到我的追问,并且能进一步帮助我,还请把答案填在评论里面或者私信给我,再次感谢。

温馨提示:答案为网友推荐,仅供参考
相似回答