这是我将购物车中的数据插入数据库的代码。问题是当购物车中只有1个数据时,它可以正常工作。如果购物车中有多个商品,我该如何使其工作。我将其发送到数据库的原因是管理员可以查看订单以进行准备。
<?php
require_once('auth.php');
?>
<?php
include("dbase.php");
include("functions.php");
if(isset($_REQUEST['command'])){
if($_REQUEST['command']=='update'){
$name=$_REQUEST['name'];
$address=$_REQUEST['address'];
$sum=get_order_total('grandTotal');
$result=mysql_query("insert into bloom_customers values('','$name','$address','$phone','$sum','$date','$time','$banks')");
$customer_id=mysql_insert_id();
$date=date('Y-m-d');
$result=mysql_query("insert into bloom_orders values('','$date','$customer_id')");
$orderid=mysql_insert_id();
$max=count($_SESSION['cart']);
for($i=0;$i<$max;$i++){
$proid=$_SESSION['cart'][$i]['product_id'];
$q=$_SESSION['cart'][$i]['qty'];
$price=get_price($proid);
mysql_query("insert into order_details values ($orderid,$proid,$q,$price,$customer_id)");
$customer_id=mysql_insert_id();
}
echo "<script type='text/javascript'>window.location='ordersubmitted.php' </script>";
}
}
?>
答案 0 :(得分:0)
for
循环的最后一行是:
$customer_id=mysql_insert_id();
这意味着每个插入的客户价值都在变化。我想你的意思是:
$orderdetail_id=mysql_insert_id();
此外,您不需要将客户ID存储在order_details
表中。它已经在orders
表中。
最后,所有插入都应该有明确的列列表,例如:
$result=mysql_query("insert into bloom_orders(date, customer_id) values('$date', '$customer_id')");