Foros del Web » Programando para Internet » PHP »

Refresh...para variable suma

Estas en el tema de Refresh...para variable suma en el foro de PHP en Foros del Web. Hola a todos, favor de ayudarme como solucionar este incoveniente de al momento de enviar los datos a ver carrito este sea actualizado en el ...
  #1 (permalink)  
Antiguo 30/04/2009, 16:58
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
Pregunta Refresh...para variable suma

Hola a todos, favor de ayudarme como solucionar este incoveniente de al momento de enviar los datos a ver carrito este sea actualizado en el momento de envio.

Esto trabaja bien con los subtotales, pero tengo dificultad en la actualizacion de suma total...
Código php:
Ver original
  1. <td>$<?php echo number_format($_SESSION['suma'],2); ?></td>
  2. </tr>
  3.   <?php
  4.   $contador=0;
  5.   $suma=0;
  6.   foreach($carro as $k => $v){
  7.     $subtotal=$v['cantidad']*$v['precio']; 
  8.     $suma=$suma+$subtotal;
  9.     $_SESSION['suma']=$suma;
  10.     $contador++;
  11.   ?>
  12. <tr>
  13.  <td align="center" valign="middle">
  14.  <?php echo $v['cantidad']." ".$v['descripcion']; ?>
  15.  </td>
  16.  <td><?php echo "$".number_format($subtotal, 2, '.', ','); ?></td>
  17. </tr>
  18.   <?php
  19.   }
  20.   ?>
Pero intente utilizar sesiones ($_SESSION['suma']=$suma;) pero como k no va del todo bien xq actualiza siempre y cuando refresque de nuevo la pagina de vercarrito.

Gracias de antemnao por ayuda que me puedan brindar.
  #2 (permalink)  
Antiguo 30/04/2009, 20:10
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: Refresh...para variable suma

Eso pasa porque haces echo de $_SESSION['suma'] antes de entrar al foreach donde se actualiza.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 04/05/2009, 07:23
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Refresh...para variable suma

Gracias, sobre la explicacion entiendo lo que me dices...pero k debo hacer entonces ...sorry estoy nublado

Saludos,
  #4 (permalink)  
Antiguo 04/05/2009, 07:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Refresh...para variable suma

Hacer el foreach() de la suma ANTES de imprimir el valor.

Saludos.
  #5 (permalink)  
Antiguo 04/05/2009, 07:57
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
De acuerdo Respuesta: Refresh...para variable suma

Upss...


Gracias,
  #6 (permalink)  
Antiguo 05/05/2009, 14:45
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Refresh...para variable suma

Hola GatorV, realize la modificacion segun lo sugerido ("Hacer el foreach() de la suma ANTES de imprimir el valor")
...pero disculpa la consulta de nuevo pero ocurre un pequeño problema con respecto a la impresion:

Total $11.99
(1) Producto11 $11.99
Total $26.98
(2) Producto22 $14.99
Total $39.97
(3) Producto33 $12.99

lo que quisiera es la correcta impresión:
Total $39.97
(1) Producto11 $11.99
(2) Producto22 $14.99
(3) Producto33 $12.99

Gracias de antemano por la ayuda prestada...
  #7 (permalink)  
Antiguo 05/05/2009, 15:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Refresh...para variable suma

Si usas todo ese codigo dentro de un foreach es normal que pase eso, vas a tener que calcular el subtotal fuera del ciclo.

Saludos.
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 22:09.