resulta que estoy asiendo una tienda online y e echo una consulta pa que me guarde los pedidos que hacen los clientes en la base de datos automaticamente,
La consulta funciona bien, pero el problema es, que me los guarda duplicado al comprar solo un producto.
Os dejo el codigo:
Código PHP:
<?php require_once('Connections/tienda.php'); ?>
<?php
session_start();
if(isset($_SESSION['carrito'])){
$carrito_mio=$_SESSION['carrito'];
}
?>
<?php
if(isset($_SESSION['carrito'])){
$total=0;
for($i=0;$i<=count($carrito_mio)-1;$i ++){
$resumen= 'hay carrito';
if($carrito_mio[$i]==NULL){
$resumen= 'no hay productos que enviar';
}else{
$resumen= 'hay productos que enviar';
$usuarioid = $_SESSION['MM_Username'];
date_default_timezone_set('Europe/Madrid');
$fecha = date('d-n-o');
$hora = date('H:i:s',strtotime('+0hours'));
$nombre_productos = $carrito_mio[$i]['nombre'];
$cantidad = $carrito_mio[$i]['cantidad'];
$precio_unidad = $carrito_mio[$i]['precio'];
$precio_total = $total;
$total=$carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad'];
$estado = 'recibido';
$pagos = 'pendiente';
$pedido = "INSERT INTO pedidos(usuarioid,fecha,hora,nombre_productos,cantidad,estado,precio_total,precio_unidad,pagos)";
$pedido.= "VALUES ('".$usuarioid."','".$fecha."','".$hora."','".$nombre_productos."','".$cantidad."','".$estado."','".$precio_total."','".$precio_unidad."','".$pagos."')";
$pedido_query = mysql_query($pedido) or die (mysql_error());
if(!$pedido_query){header("location:error2.php");}
}
}
}else{
$resumen= 'no hay carrito';}
?>
<?php
mysql_free_result($pedidos);
?>
Por cierto lo hago con el dreamweaver por eso sale asi.
y el codigo del carrito es este:
Código PHP:
<?php
if(isset($_SESSION['carrito']) || isset($_POST['nombre'])){
if(isset($_SESSION['carrito'])){
$carrito_mio=$_SESSION['carrito'];
if(isset($_POST['nombre'])){
$nombre=$_POST['nombre'];
$precio=$_POST['precio'];
$cantidad=$_POST['cantidad'];
$donde=-1;
for($i=0;$i<=count($carrito_mio)-1;$i ++){
if($nombre==$carrito_mio[$i]['nombre']){
$donde=$i;
}
}
if($donde != -1){
$cuanto=$carrito_mio[$donde]['cantidad'] + $cantidad;
$carrito_mio[$donde]=array("nombre"=>$nombre,"precio"=>$precio,"cantidad"=>$cuanto);
}else{
$carrito_mio[]=array("nombre"=>$nombre,"precio"=>$precio,"cantidad"=>$cantidad);
}
}
}else{
$nombre=$_POST['nombre'];
$precio=$_POST['precio'];
$cantidad=$_POST['cantidad'];
$carrito_mio[]=array("nombre"=>$nombre,"precio"=>$precio,"cantidad"=>$cantidad);
}
if(isset($_POST['cantidad2'])){
$id=$_POST['id'];
$cuantos=$_POST['cantidad2'];
if($cuantos<1){
$carrito_mio[$id]=NULL;
}else{
$carrito_mio[$id]['cantidad']=$cuantos;
}
}
if(isset($_POST['id2'])){
$id=$_POST['id2'];
$carrito_mio[$id]=NULL;
}
$_SESSION['carrito']=$carrito_mio;
}
?>