Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/07/2014, 05:36
xerifandtomas
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 6 meses
Puntos: 123
Respuesta: recorrer una lista de productos para calcular precio

Buenas, para comprobar en que campos hay datos puedes recorrecr $_POST con un foreach() , recuerda que $_POST es un array.

Igualmente, pienso que una forma mas simple (aunque no se si correcta, tampoco he encontrado informacion al respecto), puede ser crear un form por cada registro de la base de datos, y mediante ajax vas mandando los datos por post a un un.php que vaya creando un array de sesion. Una vez el usuario finalice la introduccion de datos, lo mandas a otra pagina, donde recuperas el array de sesion con todos los valores introducidos para trabajar con ellos.
En plan cesta de la compra.

Un ejemplo de esto podria ser asi:
Código PHP:
Ver original
  1. <?php
  2. //Recoges los datos
  3. $id_articulo=$_POST['id_articulo'];
  4. $cantidad=$_POST['cantidad'];
  5. //compruebas si ya existe una sesion y  recoges los datos si existe en $cesta
  6. if ($_SESSION['cesta']) {$cesta=$_SESSION['cesta'];}
  7. //compruebas que no esten vacias
  8. if(!empty($id_articulo) AND !empty($cantidad)){
  9.  
  10. if (!isset($cesta)){//si no existe $_SESSION['cesta'] no existe $cesta (creas el array $cesta)
  11. $cesta[$id_articulo]=$cantidad;
  12. }
  13. else{// si existe $cesta lo recorres
  14. foreach($cesta as $k => $v){
  15.     if ($id_articulo==$k){ //Compruebas si el articulo ya existe en el array
  16.         $cesta[$k]+=$cantidad;//si existe le sumas la cantidad
  17.         $encontrado=1;
  18.     }
  19. }
  20.     if (!$encontrado) $cesta[$id_articulo]=$cantidad;// si no existe lo añades al array
  21. }
  22.  
  23. }
  24. $_SESSION['cesta']=$cesta;// Guardas $cesta en la variable de sesion
  25. ?>

Última edición por xerifandtomas; 04/07/2014 a las 06:17