2013-05-26 5 views
0

Это мой код для вставки моих данных в корзину покупок в базу данных. Проблема в том, что она работает, когда в корзине всего 1 данные. Как заставить его работать, если в тележке больше 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

Может быть, вы не должны переписывать customer_id в последней строке для блока? – fejese

+0

Кроме того, вы должны рассмотреть вызов header() для перенаправления после успеха, а не с помощью js. – fejese

+0

Вы получаете в своей переменной $ max все предметы? – bentham

ответ

0

В последней строке цикла for является:

$customer_id=mysql_insert_id(); 

Это означает, что значение клиента изменяется для каждой вставки. Я думаю, что вы имели в виду:

$orderdetail_id=mysql_insert_id(); 

Кроме того, вам не нужно хранить идентификатор клиента в order_details таблице. Он уже находится в таблице orders.

И, наконец, все ваши вставки должны иметь четкие списки столбцов, такие как:

$result=mysql_query("insert into bloom_orders(date, customer_id) values('$date', '$customer_id')"); 
Смежные вопросы