Foros del Web » Programando para Internet » PHP »

Formularios Dinamicos

Estas en el tema de Formularios Dinamicos en el foro de PHP en Foros del Web. Hola Amigos..... La consulta es la siguiente.... como hago para que dado un numero de registros (cambiante por supuesto ), se desplieguen diversas entradas en ...
  #1 (permalink)  
Antiguo 20/03/2006, 14:51
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Formularios Dinamicos

Hola Amigos.....

La consulta es la siguiente.... como hago para que dado un numero de registros (cambiante por supuesto ), se desplieguen diversas entradas en un formulario, y que cada linea del mismo tenga sus variables definidas en relacion a su linea, ej

Si N = 3

FORMULARIO

TITULOA TITULOB TITULOC
CAMPOA1 CAMPOB1 CAMPOC1
CAMPOA2 CAMPOB2 CAMPOC2
CAMPOA3 CAMPOB3 CAMPOC3

Agradezco su apoyo....

Saludos y Gracias

Frank
  #2 (permalink)  
Antiguo 21/03/2006, 07:05
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Alguna idea ?

Gracias.... Frank
  #3 (permalink)  
Antiguo 21/03/2006, 07:26
Avatar de bistoco  
Fecha de Ingreso: marzo-2006
Mensajes: 141
Antigüedad: 11 años, 9 meses
Puntos: 0
TITULOA TITULOB TITULOC
CAMPOA1 CAMPOB1 CAMPOC1
CAMPOA2 CAMPOB2 CAMPOC2
CAMPOA3 CAMPOB3 CAMPOC3

no entendi esto...
  #4 (permalink)  
Antiguo 21/03/2006, 07:34
Avatar de gelit0  
Fecha de Ingreso: enero-2006
Mensajes: 25
Antigüedad: 11 años, 10 meses
Puntos: 0
No me queda muy claro lo que quieres. Pero supongo que lo más fácil es hacer un for dependiendo de ese N y luego darle los valores a los input del formulario dependiendo de ese N. Aun así sería bueno que lo explicases mejor, mucho mejor ;)
__________________
.-. GeL/T0 .-. Quieres saber mas de mi? lee mi blog: http://g05l21.net

Mi CV:
http://storage.g05l21.net/cv
  #5 (permalink)  
Antiguo 21/03/2006, 08:00
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Bueno... para explicarme mejor....

Lo que quisiera hacer es dada una variable ( que pudiese cambiar a peticion del usuario ) se genere un formulario para la carga de datos....

Imaginen que en cada CAMPO(A)(n) existiese un <INPUT>, entonces, manteniendo la consistencia para cada columna (A) se desplegaran tantas filas (n) para su carga segun la peticion del usuario

Este formulario tendria ademas "combobox" y segun los valores del mismo pudiese hacer submit...

He estado realizando algunas pruebas pero estoy trancado

Agradezco altamente su apoyo

Frank
  #6 (permalink)  
Antiguo 21/03/2006, 09:18
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
A ver si te entendí:

* Le preguntas al usuario cuántas filas va a querer.
* Envías ese dato como parámetro de un script que mostrará el número de filas que el usuario quiere.

¿es así?
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #7 (permalink)  
Antiguo 21/03/2006, 10:41
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Eso es correcto.... al final tambien se le pregunta al usuario si desea incluir otro

Help.. !!!!

Frank
  #8 (permalink)  
Antiguo 21/03/2006, 20:01
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 13 años
Puntos: 1
Ahí lo malo es que cuando el usuario haya cargado todos sus datos y luego le preguntes si desea añadir otro, vas a tener que recargar el navegador y luego poner todos los datos que el usuario había puesto, además de añadir otro.

No es tan dificil tu problema pero sí bastante laborioso, yo mejor lo haría con Javascript.

Ventajas de Js.
Cuando le preguntas cuántas filas va a querer, inmediatamente se colocarían esas filas sin que tenga que recargar el navegador. Así el usuario llenaría los campos y si desea otro, se añade inmediata y automáticamente al final sin requerir recarga del navegador y es más sencillo de hacer. Si te gusta esta solución, en el foro de Js te pueden ayudar.


Si aún deseas hacerlo con Js, no trates de hacerlo todo de un jalón, intenta con un sólo campo hasta que jale todo el sistemita (preguntar, imprimir input, recuperar input), cuando salga métele 3, cuando salga eso, hazlo en matriz.

Si tratas de hacerlo todo de sopetón, te vas a liar, pero repito, eso hecho en Js es sencillo y para el usuario mucho más amigable.
__________________
"Di no al Internet Explorer" -Proverbio Chino-
  #9 (permalink)  
Antiguo 23/03/2006, 08:30
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
De acuerdo

Bueno ... lo resolvi en PHP... realmente no soy muy diestro en Js...... como lo hice

1. creando unos arrays con los nombres de las variables en el config como....

Código PHP:
// Clasificacion (grupo segun edad)
$tncla = array();
$tncla[1]='tncla1';
$tncla[2]='tncla2';
$tncla[3]='tncla3';
$tncla[4]='tncla4';
$tncla[5]='tncla5';
$tncla[6]='tncla6';
$tncla[7]='tncla7';
$tncla[8]='tncla8';
$tncla[9]='tncla9';
$tncla[10]='tncla10';
$tncla[11]='tncla11';
$tncla[12]='tncla12';
$tncla[13]='tncla13';
$tncla[14]='tncla14';
$tncla[15]='tncla15';
$tncla[16]='tncla16';
$tncla[17]='tncla17';
$tncla[18]='tncla18';
$tncla[19]='tncla19';
$tncla[20]='tncla20';
// Nombre 
$tnnom = array();
$tnnom[1]='tnnom1';
$tnnom[2]='tnnom2';
$tnnom[3]='tnnom3';
$tnnom[4]='tnnom4';
$tnnom[5]='tnnom5';
$tnnom[6]='tnnom6';
$tnnom[7]='tnnom7';
$tnnom[8]='tnnom8';
$tnnom[9]='tnnom9';
$tnnom[10]='tnnom10';
$tnnom[11]='tnnom11';
$tnnom[12]='tnnom12';
$tnnom[13]='tnnom13';
$tnnom[14]='tnnom14';
$tnnom[15]='tnnom15';
$tnnom[16]='tnnom16';
$tnnom[17]='tnnom17';
$tnnom[18]='tnnom18';
$tnnom[19]='tnnom19';
$tnnom[20]='tnnom20'
Luego en el form defino la captura como : ( obviamente dentro de un for ) y una tabla para controlar el ancho de las columnas....

Código PHP:
echo "<td>
  <select name=\""
.$tncla[$ns]."\">";
   for(
$tc=1$tc<=$num_t_cliente-1$tc++) {
      
$tcli explode(".",$t_cliente[$tc]);
      if (
$tcla[$ns] == $tc){
         echo 
"<option value=\"".$tc."\" selected>".$tcli[1]."</option>\n";
      } else {
         echo 
"<option value=\"".$tc."\">".$tcli[1]."</option>\n";
      }
    }
  echo 
"</select>";
  echo 
"</td>
  <td><input type='text' size='25' name=\""
.$tnnom[$ns]."\" value='".$tnom[$ns]."'></td> 
Luego para la captura si cambia o registra algo " en caso de querer refrescamiento

Código PHP:
foreach ($tncla as $id => $v){ $tcla[$id] = $_POST[$v];}
foreach (
$tnnom as $id => $v){ $tnom[$id] = $_POST[$v];} 
Espero le pueda servir a alguien

Saludos y gracias por sus comentarios

Frank
__________________
Saludos. Frank :arriba:

Mi Blog http://fjgmblog.blogspot.com
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 16:46.