Estoy con una tienda online a cuestas. Cuando voy a insertar el pedido en una tabla me dice duplicate key. Os pego parte del codigo esencial:
Código PHP:
//sesion
session_start();
//Iniciamos o retomamos la sesión
$carro=$_SESSION['carro'];
//La asignamos a la variable $carro
/*require "../sesion.inc.php";
session_name(s);
$s=session_name();
$sid=$s."=".session_id();*/
//datos personales y fechas
$fecha=date("d-m-Y");
$fecha_tpvvl=date("d/m/Y");
$hora=date("H:i:s");
$hora_tpvvl=date("H:i:s");
$fecha_mysql=date("Y-m-d h:i:s");
$_POST["pago"]=="tarjeta de crédito";
$pago="V";
//quitamos la coma al importe y le ponemos los ceros a la izquierda
$importe_final=str_replace('.' ,'', $importe_final);
$importe_final=str_repeat("0", (11-strlen($importe_final))).$importe_final;
$sql_detalle_pedido="insert into detalles_pedido
(nombre, dni, direccion, cp, provincia, poblacion, email, telefono, pago, fecha, importe_final)
values
('".$_POST["nombre"]."', '".$_POST["dni"]."', '".$_POST["direccion"]."', '".$_POST["cp"]."', '".$_POST["provincia"]."', '".$_POST["poblacion"]."', '".$_POST["email"]."', '".$_POST["telefono"]."', '$pago', '$fecha_mysql', '".$_POST["importe_final"]."')";
$result_detalle_pedido=mysql_query($sql_detalle_pedido,$link)or die (mysql_error());
//datos del pedido
//$identificador_pedido = mysql_insert_id(); //recuperamos el id del cliente para llamar así al pedido
foreach($_SESSION['carro'] as $campo => $valor){
//recorremos la matriz que tiene todos los valores del carro, calculamos el subtotal y el total
$sql="select *
from productos
where id_producto='".$valor["id_producto"]."'";
$result=mysql_query($sql) or die (mysql_error());
$row=mysql_fetch_array($result);
$id_producto=$row["id_producto"];
$nombre=$row["nombre"];
$precio=$row["precio"];
$id_subcategoria=$row["id_subcategoria"];
//cojemos la categoria y las seccion para insertarlo
$sqlb="select id_categoria, nombre
from subcategorias
where id_subcategoria='$id_subcategoria'";
$resultb=mysql_query($sqlb) or die (mysql_error());
$rowb=mysql_fetch_array($resultb);
$id_categoria=$rowb["id_categoria"];
$nombre_subcategoria=$rowb["nombre"];
$sqla="select nombre
from categorias
where id_categoria='$rowb[0]'";
$resulta=mysql_query($sqla) or die (mysql_error());
$rowa=mysql_fetch_array($resulta);
$nombre_categoria=$rowa["nombre"];
//insertamos todos los datos obtenidos
$sql_insertar_pedidos="insert into pedidos
(id_pedido, nombre_producto, precio, subcategoria, categoria, cantidad)
values
('".$_SESSION['id_pedido']."', '$nombre', '$precio', '$nombre_subcategoria', '$nombre_categoria', '".$valor["cantidad"]."')";
$result_insertar_pedidos=mysql_query($sql_insertar_pedidos, $link) or die (mysql_error());
} //el error de Duplicate Key me lo da en este ultimo insertar en pedidos.
Estoy super estancada. Alguien podría decirme que puedo hacer o como puedo solucionarlo????
Muchas gracias de antemano.