Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/03/2016, 19:04
Avatar de xfxstudios
xfxstudios
 
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: alguien me puede ayudar a hacer mas dinamico este array

imagino que es para un carro de compras no??

debes trabajar con variables de sesion para ello, este es un ejemplo que encontre hace algo y me ha servido de mucho

Código PHP:
Ver original
  1. //aqui recibimos el post del formulario y armamos el array de los datos
  2. if (isset($_POST['id_txt'])){
  3.     $id=$_POST['id_txt'];
  4.     $nombre=$_POST['nombre'];
  5.     $precio=$_POST['precio'];
  6.     $cantidad=$_POST['cantidad'];
  7.     $mi_carrito[]=array('id'=>$id,'nombre'=>$nombre,'precio'=>$precio,'cantidad'=>$cantidad);
  8.     //print_r($mi_carrito);
  9. }
  10.  
  11.  
  12.  
  13. //verificamos si la variable de sesion existe y de ser asi agregamos el nuevo item
  14. if (isset($_SESSION['carrito'])){
  15.         $mi_carrito=$_SESSION['carrito'];
  16.             if (isset($_POST['id_txt'])){
  17.                 $id=$_POST['id_txt'];
  18.                 $nombre=$_POST['nombre'];
  19.                 $precio=$_POST['precio'];
  20.                 $cantidad=$_POST['cantidad'];
  21.                 $pos=-1;
  22.                 for($i=0;$i<count($mi_carrito);$i++){
  23.                     if($id==$mi_carrito[$i]['id']){
  24.                         $pos=$i;
  25.                     }
  26.                 }
  27.                 if($pos<>-1){
  28.                     $cuanto=$mi_carrito[$pos]['cantidad']+$cantidad;
  29.                     $mi_carrito[$pos]=array('id'=>$id,'nombre'=>$nombre,'precio'=>$precio,'cantidad'=>$cuanto);
  30.                 }else{
  31.                     $mi_carrito[]=array('id'=>$id,'nombre'=>$nombre,'precio'=>$precio,'cantidad'=>$cantidad);
  32.                     }
  33.     }
  34. }
  35.  
  36. si no existe la variable la creamos y cargamos el primer item enviado
  37. if (isset($mi_carrito)) $_SESSION['carrito']=$mi_carrito;

básicamente eso estodo, lo demas bueno tu ves si haces los envios por formulario, por ajax o xx y la lectura de la variable por con un for o un foreach y si deseo eliminar un item de la variable:

Código PHP:
Ver original
  1. $arreglo=$_SESSION['carrito'];
  2.     for($i=0;$i<count($arreglo);$i++){
  3.         if($arreglo[$i]['id']!=$_GET['id']){
  4.             $datosNuevos[]=array(
  5.                 'id'=>$arreglo[$i]['id'],
  6.                 'codigo'=>$arreglo[$i]['codigo'],
  7.                 'nombre'=>$arreglo[$i]['nombre'],
  8.                 'precio'=>$arreglo[$i]['precio'],
  9.                 'cantidad'=>$arreglo[$i]['cantidad']
  10.                 );
  11.         }
  12.     }
  13.  
  14.     if(isset($datosNuevos)){
  15.         $_SESSION['carrito']=$datosNuevos;
  16.        
  17.        
  18.     }else{
  19.         unset($_SESSION['carrito']);
  20.  
  21.     }

lo demas queda de tu parte averiguarlo
__________________
[email protected]
HITCEL