Gestion productos en carrito PHP

Iniciado por nobo, 7 Febrero 2012, 19:11 PM

0 Miembros y 1 Visitante están viendo este tema.

nobo

Hola buenas tardes...

Si añado un producto sin talla: camiseta azul --> La añade al carrito sin problema.
Cuando intento añadir otra : camiseta azul --> La añade al carrito peeeeeero !!! NO la suma, la vuelve añadir como un producto distinto, por eso me hace sospechar que algo no esta funcionando bien...

La otra razon es:

Cuando añado un producto con talla... Camiseta azul M --> Simplemente no la añade al carrito... Me muestra el carrito pero sin añadir el producto. Poniendome incluso en la URL esto: http://*******/carrito_lista.php?FTa...d=1&recordID=3

Como si lo hubiese hecho bien, pero luego en la base de datos tampoco aparece como que lo haya añadido :S

No me da ningun error por eso no se por donde empezar. Dejo el codigo que uso:

   
Código (php) [Seleccionar]
$valorrespuesta = comprobarexistencia($_GET['recordID'],$_GET['FTalla']);
    if ($valorrespuesta!=0){
        //UPDATE
      $insertSQL = sprintf("UPDATE tblcarrito SET intCantidad = intCantidad + %s WHERE intContador = %s",$_GET['intCantidad'],
                           $valorrespuesta);
    }
    else {
      $insertSQL = sprintf("INSERT INTO tblcarrito (idUsuario, idProducto, intCantidad, strTalla) VALUES (%s, %s, %s, %s)",
                           GetSQLValueString($_SESSION['MM_IdUsuario'], "int"),
                           GetSQLValueString($_GET['recordID'], "int"),
                           GetSQLValueString($_GET['intCantidad'], "int"),
                           GetSQLValueString($_GET['FTalla'], "text"));
    }





Y la funcion comprobarexistencia:

   
Código (php) [Seleccionar]
function comprobarexistencia($idproducto, $idtalla)
    {
        global $database_conexionzulo, $conexionzulo;
        mysql_select_db($database_conexionzulo, $conexionzulo);
        $query_ConsultaFuncion = sprintf("SELECT * FROM tblcarrito WHERE idUsuario = %s AND idProducto=%s AND strTalla = '%s'", $_SESSION['MM_IdUsuario'],$idproducto, $idtalla);
        $ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo) or die(mysql_error());
        $row_ConsultaFuncion = mysql_fetch_assoc($ConsultaFuncion);
        $totalRows_ConsultaFuncion = mysql_num_rows($ConsultaFuncion);
        if ($totalRows_ConsultaFuncion >0)
        return $row_ConsultaFuncion['intContador'];
        else
        return 0;
        mysql_free_result($ConsultaFuncion);
    }



Si necesitais algo mas...

Muchas gracias de antemano !! ;)

Shell Root

Creo que sólo estás creando la Query, falta ejecutarla.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

nobo

Creo que tengo el error ;)

La cosa es que si dejo en la tblcarrito la transaccionefectuada es decir... Que la compra ya se haya pagado y este pendiente de ser aceptada (para borrar el carrito de la compra)

Tengo que poner que en la tblcarrito busque el producto, en la compra activa. De esta manera:

function comprobarexistencia($idproducto, $idtalla)
    {
        global $database_conexionzulo, $conexionzulo;
        mysql_select_db($database_conexionzulo, $conexionzulo);
        $query_ConsultaFuncion = sprintf("SELECT * FROM tblcarrito WHERE idUsuario = %s AND idProducto=%s AND strTalla = '%s', AND intTransaccionEfectuada = 0", $_SESSION['MM_IdUsuario'],$idproducto, $idtalla);
        $ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo) or die(mysql_error());
        $row_ConsultaFuncion = mysql_fetch_assoc($ConsultaFuncion);
        $totalRows_ConsultaFuncion = mysql_num_rows($ConsultaFuncion);
        if ($totalRows_ConsultaFuncion >0)
        return $row_ConsultaFuncion['intContador'];
        else
        return 0;
        mysql_free_result($ConsultaFuncion);
    }

Entonces asi si añade los productos, aunque en la tblcarrito haya ya ese producto y el idusuario.. No se si se entendio la solucion... Por si alguien mas le hace falta...

Ahora me queda hacer que cuando un producto NO tenga talla si esta repetido lo sume...