Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] pasar variable de tipo tabla a traves de formularios

Estas en el tema de pasar variable de tipo tabla a traves de formularios en el foro de PHP en Foros del Web. Hola a todos, Una preguntilla. ¿Se pueden pasar varibles de tipo tabla a través de formularios? Es decir, si tuviera un html parecido a: Código ...
  #1 (permalink)  
Antiguo 31/10/2007, 06:16
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 17 años, 3 meses
Puntos: 1
pasar variable de tipo tabla a traves de formularios

Hola a todos,

Una preguntilla. ¿Se pueden pasar varibles de tipo tabla a través de formularios?

Es decir, si tuviera un html parecido a:


Código HTML:
<form action="Untitled-1.php" method="post">

  <input name="alumno[]["nombre"]" type="text" value="">
  <input name="alumno[]["telefono"]" type="text" value="">

  <input type="submit" name="Submit" value="Enviar">

</form> 
y recoger el valor mediante algo parecido a :



Código PHP:
<?php 

if (isset($_POST['alumno'])){

    
$alumno=$_POST['alumno'];
    echo 
'Datos:'.$alumno[0]["Nombre"].$alumno[0]["telefono"];
 
 }
?>

Ya he comprobado que los códigos abteriores no funcionan...alguna otra solucion?

Gracias a todos.

Saludos.
  #2 (permalink)  
Antiguo 01/11/2007, 11:59
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: pasar variable de tipo tabla a traves de formularios

El problema probablemente esté en las comillas que usás en el atributo "name", que no creo que estén permitidas. Creo recordar que alguna vez usé cosas como

nombre[][1]
nombre[][0]

y funcionó...

Probalo así.


Saludos.
  #3 (permalink)  
Antiguo 02/11/2007, 03:33
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: pasar variable de tipo tabla a traves de formularios

Hola Alvin,

Muchas gracias por tu respuesta. Sí he conseguido pasar por el formulario arrays de 2 dimensiones ($var[][]), pero lo que necesito pasar por el formulario son tablas ($var[]["aaa"]) Me resuta raro que no se puedan enviar este tipo de varibles por un formulario...aunque tienes rezón que cuando pongo
<input name="alumno[]["nombre"]" type="text" value=""> las comillas quedan un poco raro...pero entonces...como se especificará el nombre del campo?

saludos.
  #4 (permalink)  
Antiguo 02/11/2007, 07:00
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: pasar variable de tipo tabla a traves de formularios

Código HTML:
<input name="alumno[][nombre]" type="text" value=""> 
No es necesaria la comilla... fijate que si las ponés debería estar llegando como $variable['"nombre"']
  #5 (permalink)  
Antiguo 02/11/2007, 09:41
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: pasar variable de tipo tabla a traves de formularios

Hola Seppo,

Muchas gracias por tu respuesta.

Para probar lo que me has dicho he escrito el siguiente código:


Código PHP:
<html>
<head>
</head>

<body>

<?php 

if (isset($_POST['alumno'])){

    
$alumno=$_POST['alumno'];
    echo 
$alumno[1]['nombre']; // Solo imprime el valor para $alumno[0]['nombre'] ???

}

?>

<form action="ejemplo.php" method="post" name="formu">
<input name="alumno[][nombre]" type="text" />
<input name="alumno[][tel]" type="text" />
<input name="alumno[][nombre]" type="text" />
<input name="alumno[][tel]" type="text" />
<input name="" type="submit" />

</form>

</body>
</html>
Sin embargo, me imprime el valor por pantalla para echo "$alumno[0]['nombre'];" para el resto (echo $alumno[0]['tel']; echo $alumno[1]['nombre']; echo $alumno[1]['tel'];) no me imprime nada...sabes que puede ser?

Un saludo
  #6 (permalink)  
Antiguo 02/11/2007, 09:42
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: pasar variable de tipo tabla a traves de formularios

Sí... en vez de [] deberías usar [0] si todos van a tener 0, porque sino cada uno va teniendo uno más q el anterior como key porque ya está usado
  #7 (permalink)  
Antiguo 02/11/2007, 09:59
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: pasar variable de tipo tabla a traves de formularios

Eso es lo que quiero, que se vaya incrementando la key (imaginemos una lista de muchos alumnos para los que quiero guradar su "nombre" y su "telefono").
Según el ejemplo, si cuando se abre la pagína con el navegador rellenase los cuatro "texbox", el primer texbox contendría el valor del "nombre" del alumno "0", el segundo "texbox" del "telefono" del alumno "0", el tercer texbox contendría el valor del "nombre" del alumno "1" y el cuarto texbox contendría el valor del "nombre" del alumno "1". Por tanto, con "echo $alumno[1]['tel']" obtendría el valor del telefono del alumno 1. No?
  #8 (permalink)  
Antiguo 02/11/2007, 10:28
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: pasar variable de tipo tabla a traves de formularios

el tema es q se incrementa cada vez q aparece [], entonces te está generando

$alumno[o]['nombre']
$alumno[1]['tel']
$alumno[2]['nombre']
$alumno[3]['tel']
Código HTML:
<form action="ejemplo.php" method="post" name="formu">
<input name="alumno[0][nombre]" type="text" />
<input name="alumno[0][tel]" type="text" />
<input name="alumno[1][nombre]" type="text" />
<input name="alumno[1][tel]" type="text" />
<input name="" type="submit" />

</form> 
  #9 (permalink)  
Antiguo 02/11/2007, 10:53
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: pasar variable de tipo tabla a traves de formularios

Perfecto!!! Problema resuelto.

Muchas gracias por tu ayuda.

Un saludo.
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 21:30.