Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: nobo en 7 Febrero 2012, 19:11 PM

Título: Gestion productos en carrito PHP
Publicado por: nobo en 7 Febrero 2012, 19:11 PM
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 !! ;)
Título: Re: Gestion productos en carrito PHP
Publicado por: Shell Root en 7 Febrero 2012, 22:39 PM
Creo que sólo estás creando la Query, falta ejecutarla.
Título: Re: Gestion productos en carrito PHP
Publicado por: nobo en 7 Febrero 2012, 22:55 PM
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...