Foros del Web » Programando para Internet » PHP »

ayuda con el foreach y arreglos

Estas en el tema de ayuda con el foreach y arreglos en el foro de PHP en Foros del Web. Tengo el siguiente caso.. Tengo un selec que dependiendo de la opcion que escoja ordop, PAO, PON, GYC el entrara a un arreglo para que ...
  #1 (permalink)  
Antiguo 09/09/2010, 12:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
ayuda con el foreach y arreglos

Tengo el siguiente caso..

Tengo un selec que dependiendo de la opcion que escoja ordop, PAO, PON, GYC el entrara a un arreglo para que me inprima los "campos" que dependan de la opcion que escoja (utilizo el tipo de datos Boolena true o false) y el arreglo esta asi

$bloques= array (

operacion1'=>array ( 'nombre' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>false),
'edad' => array ( 'ordop' => false, 'PAO'=> false, 'PON'=> false, 'GYC'=>false),
'telefono' => array ( 'ordop' => true, 'PAO'=> true,'PON'=> true, 'GYC'=>true),
'direccion' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> false, 'GYC'=>false),
'mail' => array ( 'ordop' => true, 'PAO'=> false, 'PON'=> false, 'GYC'=>false),
........otros campos mas
),
'operacion2'=>array ( 'ciudad' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> false, 'GYC'=>false),
'provincia' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> false, 'GYC'=>false),
'canton' => array ( 'ordop' => true, 'PAO'=> true,'PON'=> false, 'GYC'=>false),
'barrio' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> false, 'GYC'=>false),
........ otros campos mas
),

'opeacion3'=>array ('continente' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>false),
'pais' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>false),
'ciudad' => array ( 'ordop' => true, 'PAO'=> true,'PON'=> true, 'GYC'=>false),
....... otros campos mas
),

'operacion4'=>array ('Edificaciones' => array ( 'ordop' => false, 'PAO'=> false, 'PON'=> true, 'GYC'=>false),
'Viviendas' => array ( 'ordop' => false, 'PAO'=> false, 'PON'=> true, 'GYC'=>false),
'Espacion_Publicos' => array ( 'ordop' => false, 'PAO'=> false,'PON'=> true, 'GYC'=>false),
....... otros campos mas
),

'operacion5'=>array ( 'Buses' => array ( 'ordop' => true, 'PAO'=> false, 'PON'=> true, 'GYC'=>false),
'Autos' => array ( 'ordop' => true, 'PAO'=> true,'PON'=> true, 'GYC'=>false),
'Moto' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>false),
'Lancha'=> array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>false),
....... otros campos mas
),

'observa'=>array ( 'Observaciones' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>true),
)
);


como puedo hacer para imprimir los text si yo selecione PAO entonces todos los que tiene Pao como true me deben de imprimir eso... alguin em ayuda
  #2 (permalink)  
Antiguo 09/09/2010, 12:54
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ayuda con el foreach y arreglos

No se te entiende, o al menos no te entendí. ¿Podrías replantear tu problema de otra forma?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 09/09/2010, 14:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 13
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: ayuda con el foreach y arreglos

Gracias Vea.. Tengo que hacer varios formularios que le llamaremos form1, form2, form3, form4.

Form1 tiene digamos 50 campos a llenar, form2 tiene la mitad de los campos del fomr1, form4 tienen algunos y form3 tiene 3/4 partes de los campos, yo pensaba hace una pagina por cada uno de los 4 formularios, pero eso no es la solución, busque existen los arreglos asociativos, que pensé en eso, entonces cree el arreglo utilizando la función booleana (false o true)
El arreglo esta en $bloques

$bloques= array (

'Datos'=>array ( 'nombre' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>false),
'edad' => array ( 'ordop' => false, 'PAO'=> false, 'PON'=> false, 'GYC'=>false),
'telefono' => array ( 'ordop' => true, 'PAO'=> true,'PON'=> true, 'GYC'=>true),
'direccion' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> false, 'GYC'=>false),
'mail' => array ( 'ordop' => true, 'PAO'=> false, 'PON'=> false, 'GYC'=>false),
........otros campos mas
),
'Lugar'=>array ( 'ciudad' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> false, 'GYC'=>false),
'provincia' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> false, 'GYC'=>true),
'canton' => array ( 'ordop' => true, 'PAO'=> true,'PON'=> false, 'GYC'=>true),
'barrio' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> false, 'GYC'=>false),
........ otros campos mas
),

'Origen=>array ('continente' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>false),
'pais' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>true),
'ciudad' => array ( 'ordop' => true, 'PAO'=> true,'PON'=> true, 'GYC'=>false),
....... otros campos mas
),

'lugar1=>array ('Edificaciones' => array ( 'ordop' => false, 'PAO'=> false, 'PON'=> true, 'GYC'=>true),
'Viviendas' => array ( 'ordop' => false, 'PAO'=> false, 'PON'=> true, 'GYC'=>true),
'Espacion_Publicos' => array ( 'ordop' => false, 'PAO'=> false,'PON'=> true, 'GYC'=>false),
....... otros campos mas
),


'observa'=>array ( 'Observaciones' => array ( 'ordop' => true, 'PAO'=> true, 'PON'=> true, 'GYC'=>true),
)
);

La idea es que cuando una persona seleecion por medio de un “lista” entonces el vaya a al arreglo y empiece a ver que campos debe de mostrar en el formulario.

Por ejemplo si toma GYG

El mostraria el campo

De arreglo datos: nombre, telefono,
De arreglo Lugar : provincial, canton,
De arreglo origen: continente, pais
De arreglo Lugar1 : Viviendas, Espacion_Publicos
De Arreglo observa : Observaciones

Tiene que imprimir el label y la cajita de texto se que debo de usar el foreach pero no se como…
  #4 (permalink)  
Antiguo 09/09/2010, 16:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: ayuda con el foreach y arreglos

No tiene lógica lo que quieres hacer. Entiendo que lo mejor es usar un arreglo que contenga lo que corresponde a cada campo, algo como
Código PHP:
Ver original
  1. $arr = array();
  2. $arr['GYG']['datos'] = array('nombre'=>'foo', 'telefono'=>'4363216');
  3. $arr['GYG']['lugar'] = array('provincial'=>'bar', 'canton'=>'baz');
  4. $arr['GYG']['origen'] = array('continente'=>'candy', 'pais'=>'twix');
  5. //....
al final recorres el array algo así
Código PHP:
Ver original
  1. <?php
  2. foreach($arr as $keys => $value){
  3.     foreach($value as $key => $val){
  4.         foreach($val as $k => $v){
  5.             echo $keys . "['" . $key . "']['" . $k . "'] = ". $v . "<br />";
  6.         }
  7.     }
  8. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: arreglos, foreach
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 14:03.