Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/11/2011, 05:49
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 11 meses
Puntos: 326
Respuesta: problemilla con mi tienda online

Primero:

Formatea bien tu código. Así como lo tienes, es complicado seguir la lógica. Si lo pones así es mucho más sencillo:
Código PHP:
<?php
/*seleccionamos bd*/
mysql_select_db('nombre_bd') or die(mysql_error());
if (isset(
$_SESSION['carrito'])) {
    
$total 0;
    for (
$i 0$i <= count($carrito_mio) - 1$i++) {
        if (
$carrito_mio[$i] != NULL) {
            
$total     $total + ($carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad']);
            
/*variables*/
            
$estado    'recibido';
            
$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'];
            
$precio_unidad    $carrito_mio[$i]['precio'];
            
$cantidad         $carrito_mio[$i]['cantidad'];
            
$precio_total     $total;
            
$pagos            'pendiente';
            
/*insertamos consulta en pedidos*/
            
$pedido           "INSERT INTO pedidos(usuarioid,fecha,hora,nombre_productos,cantidad,estado,precio_total,pagos,precio_unidad)";
            
$pedido .= "VALUES ('" $usuarioid "','" $fecha "','" $hora "','" $nombre_productos "','" $cantidad "','" $estado "','" $precio_total "','" $pagos "','" $precio_unidad "')";
            
$pedido_query mysql_query($pedido);
            
/*verificacion nsertar datos en pedidos*/
            
if (!$pedido_query) {
                
header("location:error2.php?error=1");
            } else {
            }
        }
    }
}
?>
Segundo:

Este for
Código PHP:
 for ($i 0$i <= count($carrito_mio) - 1$i++) { 
Sería lo mismo que este:
Código PHP:
 for ($i 0$i count($carrito_mio); $i++) { 
Es más "sencillo" (almenos, para mi) de un vistazo saber lo q hace el for :) (Esto sólo es un apunte).

Tercero, ¿a q te refieres q duplica?

Por ejemplo, si insertas SÓLO un producto en el carrito, ¿te lo duplica en la BBDD?

Cuarto, ¿estás eguro que tienes un buen diseño de BBDD?
Piensa que un "pedido", puede tener muchos "productos". El pedido será el mismo...

Deberías tener, probablemente, dos tablas. Una con los datos del pedido, y otra con los productos del pedido... así no tendrías q duplicar usuario, fecha, etc del mismo pedido por producto que hagas. Algo así como:

pedidos
id | usuario | fecha | estado

productoPedidos
id | id_pedido | id_producto | id_cantidad | precio

Es sólo una sugerencia :)
__________________
>> Eleazan's Source
>> @Eleazan