Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: nobo en 12 Febrero 2012, 13:23 pm



Título: Sumar productos sin talla
Publicado por: nobo en 12 Febrero 2012, 13:23 pm
Hola !! Buenos dias, vuelvo para insistir con el tema del carrito... Ya consegui resolver el tema de sumar productos con tallas.. Ahora vengo con lo contrario.. Sumar productos cuando no tengan tallas..

Estoy creando la funcion comprobartalla a partir del idProducto.
Para saber si ese producto tiene talla asignada o no:
Código
  1. function comprobartalla($idproducto)
  2. {
  3. global $database_conexionzulo, $conexionzulo;
  4. mysql_select_db($database_conexionzulo, $conexionzulo);
  5. $query_ConsultaFuncion = sprintf("SELECT * FROM tblproductotalla WHERE relProducto=%s", $idproducto);
  6. $ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo) or die(mysql_error());
  7. $row_ConsultaFuncion = mysql_fetch_assoc($ConsultaFuncion);;
  8. $totalRows_ConsultaFuncion = mysql_num_rows($ConsultaFuncion);
  9. if ($totalRows_ConsultaFuncion == 0)
  10. return 0;
  11. else return 1;
  12. mysql_free_result($ConsultaFuncion);
  13. }

Hasta aqui todo perfecto.. Comprueba si hay talla si hay delvuelve 1 si no devuelve 0.

Mi problema viene a la hora de comprobar si ya esta en el carrito. No se como hacer dos consultas a la vez... Es decir ahora me tocaria hacer lo mismo tal que asi:

SELECT * FROM tblcarrito WHERE idUsuario=%s AND idProducto=%s AND intTransaccionEfectuada = 0", $_SESSION['MM_IdUsuario'], $idproducto);

Si hay algo lo updateas si no hay nada lo añades a la base de datos...

Pero claro tendria que comparar el "0" o "1" de antes (si hay talla o no) y luego si existe o no en el carrito. Estoy en la segunda parte que no se como condicionar por asi decirlo los dos a la vez... :S

Alguna idea / solucion ?


Título: Re: Sumar productos sin talla
Publicado por: #!drvy en 12 Febrero 2012, 13:55 pm
Hola,

Primero, decirte que existe un subforo especifico para PHP (http://foro.elhacker.net/php-b68.0/).
Ahora, no acabo de entender lo que quieres hacer. Podrías explicarte un poco mejor ?


Saludos


Título: Re: Sumar productos sin talla
Publicado por: nobo en 12 Febrero 2012, 14:24 pm
Si claro!!! Lo que no se es si publicar en el subforo... O dejarlo para la siguiente. De todas formas gracias !!!

Lo que quiero hacer es:

1º: Comprobar que el producto que vamos a comprar (camiseta azul talla "") tiene talla o no tiene talla.
2º: Si no tiene talla mirar en el carrito si ese producto (camiseta azul talla "") existe ya en el carrito. Si existe, actualizar el carrito(UPDATE) (poner 2unidades o las que coja). Si no existe añadir al carrito ese producto (INSERT).

3º: Si tiene talla ejecutar la siguiente funcion:
Código
  1. function comprobarexistencia($idproducto, $idtalla)
  2. {
  3. global $database_conexionzulo, $conexionzulo;
  4. mysql_select_db($database_conexionzulo, $conexionzulo);
  5. $query_ConsultaFuncion = sprintf("SELECT * FROM tblcarrito WHERE idUsuario = %s AND idProducto=%s AND strTalla = '%s' AND intTransaccionEfectuada = 0", $_SESSION['MM_IdUsuario'],$idproducto, $idtalla);
  6. $ConsultaFuncion = mysql_query($query_ConsultaFuncion, $conexionzulo) or die(mysql_error());
  7. $row_ConsultaFuncion = mysql_fetch_assoc($ConsultaFuncion);
  8. $totalRows_ConsultaFuncion = mysql_num_rows($ConsultaFuncion);
  9. if ($totalRows_ConsultaFuncion >0)
  10. return $row_ConsultaFuncion['intContador'];
  11. else
  12. return 0;
  13. mysql_free_result($ConsultaFuncion);
  14. }

No se si me explique bien :S

Lo que quiero hacer es que se cumplan dos condiciones. Que el producto no tenga talla y que ya este en el carrito "o" que el producto no tenga yalla y NO este en el carrito.

Puesto que si tiene talla ya tengo una funcion que lo hace perfectamente. Comprueba que talla es mira si esta en el carrito y si esta en el carrito hace un update si no lo inserta. Pongo el codigo:

Código
  1. $valorrespuesta = comprobarexistencia($_GET['recordID'],$_GET['FTalla']);
  2. if ($valorrespuesta!=0){
  3. //UPDATE
  4.  $insertSQL = sprintf("UPDATE tblcarrito SET intCantidad = intCantidad + %s WHERE intContador = %s",$_GET['intCantidad'],
  5.   $valorrespuesta);
  6. }
  7. else {
  8.  $insertSQL = sprintf("INSERT INTO tblcarrito (idUsuario, idProducto, intCantidad, strTalla) VALUES (%s, %s, %s, %s)",
  9.                       GetSQLValueString($_SESSION['MM_IdUsuario'], "int"),
  10.   GetSQLValueString($_GET['recordID'], "int"),
  11.   GetSQLValueString($_GET['intCantidad'], "int"),
  12.   GetSQLValueString($_GET['FTalla'], "text"));
  13. }

Quiero hacer lo mismo, pero si no hay tallas...