Foros del Web » Programando para Internet » PHP »

como sumar determinado item en carrito?

Estas en el tema de como sumar determinado item en carrito? en el foro de PHP en Foros del Web. Tengo el siguiente problema; tengo un formulario de proforma el cual tiene la opcion de cotizar productos independientes y productos en grupo; mi problema se ...
  #1 (permalink)  
Antiguo 24/12/2009, 15:28
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Exclamación como sumar determinado item en carrito?

Tengo el siguiente problema; tengo un formulario de proforma el cual tiene la opcion de cotizar productos independientes y productos en grupo; mi problema se da cuando quiero sumar; es decir, cuando sume debe sumar los que sea independiente=N en un lado y los independiente=S; en otro; ya que al primero se le multiplica por una cantidad determinada y el segundo no; estuve intento hacer lo siguiente:
Código PHP:
    $cantidad01=$_GET['cantidad01'];
    
$preciopr=$_GET['pdreg'];
    
$descuento=$_GET['pdesc'];
    
$tc=$_GET['tc'];
    
$total=0;
    for(
$i=0;$i<count($_SESSION['usuario']['carrito']);$i++) 
        { 
        foreach (
$_SESSION['usuario']['carrito'][$i] as $k => $v
            {
            if(
$k=='independiente')
                {
                
$independiente=$v;
                }
                if (
$independiente=='N')
                {
                    if (
$k=='subtotal') { $total+=$v; }
                }
                if (
$independiente=='S')
                {
                    if(
$k=='subtotalp') { $total10+=$v; }
                }
            }
            
$soles0=round((($total+$preciopr)-$descuento)*$cantidad01,2);
            
$dolares0=round(((($total/$tc)+$preciopr/$tc)-$descuento/$tc)*$cantidad01,2);
            
$soles00=round(($total10-$descuento),2);
            
$dolares00=round(($total10/$tc)-$descuento/$tc,2);
        }
                
/*$soles01=round((($total+$preciopr)-$descuento)*$cantidad01,2);
                $dolares01=round(((($total/$tc)+$preciopr/$tc)-$descuento/$tc)*$cantidad01,2);*/
                
$soles01=round($soles0+$soles00,2);
                
$dolares01=round($dolares0+$dolares00,2); 
pero el problema aqui es que no me identifica el independiente S ó independiente N; y tampoco me coge el 1er item.
Alguien que me ayude es urgente.
  #2 (permalink)  
Antiguo 24/12/2009, 18:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: !!!!!!!!!como sumar determinado item en carrito??????????

Verifica que es lo que tienes exactamente en $_SESSION['usuario']['carrito'] con:

Código PHP:
Ver original
  1. echo '<pre>';
  2. var_dump($_SESSION['usuario']['carrito']);
  3. echo '</pre>';

Ya que sepas como esta estructurado podras arreglar el problema, o darnos mas informacion para tratar de ayudarte.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 26/12/2009, 08:50
Avatar de zeuzft  
Fecha de Ingreso: junio-2009
Ubicación: peru
Mensajes: 358
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: como sumar determinado item en carrito?

si me coge la sesion; a la unica solucion que pude llegar fue esta; si me pueden ayudar a reducir el codigo se los agradeceria:
Cita:
for($i=0;$i<count($_SESSION['usuario']['carrito']);$i++)
{
foreach ($_SESSION['usuario']['carrito'][$i] as $k => $v)
{
if($k=='independiente')
{
$independiente=$v;
}
if($k=='descuento')
$descuento=$v;
if($k=='pob')
$precioobdv=round($v,2);

if ($_SESSION['usuario']['carrito'][$i]['independiente']=='N')
{
if ($k=='subtotal') { $total+=$v; }
}
if ($_SESSION['usuario']['carrito'][$i]['independiente']=='S')
{
if($k=='subtotal') { $total10+=$v; }
}
}
$soles0=round((($total+$precioobdv)-$descuento)*$candv,2);
$dolares0=round(((($total/$_GET['tc'])+$precioobdv/$_GET['tc'])-$descuento/$_GET['tc'])*$candv,2);
$soles00=round(($total10-$descuento),2);
$dolares00=round(($total10/$_GET['tc'])-$descuento/$_GET['tc'],2);
}
$mirass=round($soles0+$soles00,2);
$mirasd=round($dolares0+$dolares00,2);
a la session de independiente le valido con el parametro o algo asi; gracias por la ayuda
  #4 (permalink)  
Antiguo 30/12/2009, 02:35
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: como sumar determinado item en carrito?

Código PHP:
Ver original
  1. for($i=0;$i<count($_SESSION['usuario']['carrito']);$i++) {
  2.     // En vez del foreach, usa una variable
  3.     $elemento = $_SESSION['usuario']['carrito'][$i];
  4.  
  5.     // Extrae cada dato que necesites
  6.     $independiente = $elemento['independiente'];
  7.     $descuento=$elemento['descuento'];
  8.  
  9.     // Aqui haces los calculos necesarios
  10. }
__________________
- León, Guanajuato
- GV-Foto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:12.