Foros del Web » Programando para Internet » PHP »

Varios Arrays desde Form

Estas en el tema de Varios Arrays desde Form en el foro de PHP en Foros del Web. Hola foro, mi consulta: Recibo 1 o varios datos de un formulario (formulario dinamico) que, los recibo con array y recorro de este modo: Código: ...
  #1 (permalink)  
Antiguo 18/03/2011, 08:40
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Varios Arrays desde Form

Hola foro, mi consulta:

Recibo 1 o varios datos de un formulario (formulario dinamico) que, los recibo con array y recorro de este modo:

Código:
foreach ($_POST['nombre_inv'] as $nombre)
{
    echo "$nombre <br />";
}
En este caso estoy recibiendo sólo un campo del formulario que es $_POST['nombre_inv']

Mi pregunta es como hago para recibir el resto, siendo que son 3 mas (4 en total)...

$_POST['edad_inv']
$_POST['email_inv']
$_POST['telefono_inv']

Ok, muchisimas gracias de antemano y les dejo un gran saludo!
Gustavo.
  #2 (permalink)  
Antiguo 18/03/2011, 08:45
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Varios Arrays desde Form

mostranos solo el form con los datos elementales para ver como arma el array
  #3 (permalink)  
Antiguo 18/03/2011, 08:49
Avatar de mashter  
Fecha de Ingreso: mayo-2008
Mensajes: 116
Antigüedad: 16 años
Puntos: 6
Respuesta: Varios Arrays desde Form

en lo personal me gusta hacer lo siguiente:

como existen datos fijo y variable pongo algo como:

imaginando ejemplo de calificaciones tendria los siguientes campos

escuela
grupo
fecha
nombre_1,calificacion_1 <-- les agrego un _ para distingir entre los ke se repiten y normales
nombre_2,calificacion_2
nombre_3,calificacion_3
nombre_4,calificacion_4
nombre_5,calificacion_5
nombre_X,calificacion_X

y para recibir
Código PHP:
Ver original
  1. foreach($_POST  AS $llave => $valor)
  2. {
  3.   list($nombre,$id)=explode('_',$llave);
  4.   $id=intval($id);
  5.   if($id==0)
  6.   {
  7.     //es un dato general con $nombre y $valor
  8.   }
  9.   else
  10.   {
  11.      //es un dato repetitivo con $nombre $id y $valor
  12.   }
  13.  
  14. }
__________________
- - - - - - - - -
  #4 (permalink)  
Antiguo 18/03/2011, 08:58
 
Fecha de Ingreso: noviembre-2009
Mensajes: 381
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: Varios Arrays desde Form

Gracias, el form dinamico es asi:

Código:
<script language="javascript" type="text/javascript"> 
var posicionCampo=1;
	
	function agregarUsuario(){
		nuevaFila = document.getElementById("tablaUsuarios").insertRow(-1);
		nuevaFila.id=posicionCampo;

		nuevaCelda=nuevaFila.insertCell(-1);
		nuevaCelda.innerHTML="<td><input type='text' size='20' name='nombre_inv["+posicionCampo+"]'></td>";

		nuevaCelda=nuevaFila.insertCell(-1);
		nuevaCelda.innerHTML="<td> <input type='text' size='5' name='edad_inv["+posicionCampo+"]' ></td>";

		nuevaCelda=nuevaFila.insertCell(-1);
		nuevaCelda.innerHTML="<td> <input type='checkbox' name='celiaco_inv["+posicionCampo+"]' >Celiaco <input type='checkbox' name='vegetariano_inv["+posicionCampo+"]' >Vegetariano <input type='checkbox' name='hipertenso_inv["+posicionCampo+"]' />Hipertenso</td>";

		nuevaCelda=nuevaFila.insertCell(-1);
		nuevaCelda.innerHTML="<td><input type='button' value='Eliminar' onclick='eliminarUsuario(this)'></td>";
		
		posicionCampo++;
	}

	function eliminarUsuario(obj){
		var oTr = obj;
			while(oTr.nodeName.toLowerCase()!='tr'){
				oTr=oTr.parentNode;
			}

		var root = oTr.parentNode;
		root.removeChild(oTr);
	}
</script>

	<table id="tablaUsuarios" width="100%" border="0">
		<tr>
			<th colspan="4"><h2>Invitados</h2></th>
		</tr>
		<tr>
			<th width="22%" align="left">Apellido y Nombre</th>
			<th width="10%" align="left">Edad</th>
			<th width="35%" align="left">Detalles</th>
			<th width="33%" align="left"><input type="button" onClick="agregarUsuario()" value="Agregar Invitado" /></th>
		</tr>
	</table>
Cada vez que se presiona "Agregar Invitado" se crea el campo que envia valor con array... El codigo que adjunte capturo solo el primer campo.

Saludos.
Gustavo.
  #5 (permalink)  
Antiguo 18/03/2011, 08:59
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Varios Arrays desde Form

primero hecete un HIDDDEN que te pase la catidad de GRUPOS DE CAMPOS (escuela,grupo,fecha)
entonces cuando armas los campos le asignas un NAME conocido
ej
name="escuela_<? echo $i; // $i es un contador comun y corriente y supone q empieza en 1 ?>"

entonces en la pagina que procesa

for($y=1; $y<= $_REQUEST['cantidad_de_campos']; $y++){
echo $_REQUEST['escuela_'.$y];
}

Etiquetas: arrays, formulario
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 09:20.