Foros del Web » Programando para Internet » PHP »

cantidad de campos

Estas en el tema de cantidad de campos en el foro de PHP en Foros del Web. Hola, solicito sugerencias para resolver lo siguiente. Estoy haciendo un sitio en PHP y la DB es MySQL. Resulta que en el formulario de datos ...
  #1 (permalink)  
Antiguo 22/01/2008, 10:27
 
Fecha de Ingreso: enero-2008
Mensajes: 5
Antigüedad: 16 años, 3 meses
Puntos: 0
cantidad de campos

Hola, solicito sugerencias para resolver lo siguiente. Estoy haciendo un sitio en PHP y la DB es MySQL. Resulta que en el formulario de datos personales tengo un INPUT para ingreso de "Cantidad de menores".
Lo que necesito hacer a partir de alli es que se pueda ingresar las edad de cada uno de los menores y guardarlo en la BD.
POr lo que no se como manejar ese dinamismo, es decir tendre que presentar tantos INPUTS para igreso de edades según la cantidad de menores declarada previamente. Y luego en la BD tendre que tener X cantidad de campos para insertar las edades de cada uno.

Por ejemplo:
Si en "Cantidad de menores" ingreso "4"
Luego deberé mostrar "4" INPUTS para poner las edades de cada uno.
Debo hacer coincidir la cantiad de INPUTS con el numero de menores que hayan ingresado.
Lo mismo que tendré que guardar las "4" edades en la BD

Espero se entienda lo que busco! Gracias de antemano.

Última edición por mmunarriz; 22/01/2008 a las 10:48 Razón: mas explicativo
  #2 (permalink)  
Antiguo 22/01/2008, 10:37
Avatar de ferbux  
Fecha de Ingreso: mayo-2007
Ubicación: por ahí intentado ayudar
Mensajes: 823
Antigüedad: 16 años, 11 meses
Puntos: 6
Re: cantidad de campos

Hola mmunarriz, lo ke puedes hacer es pedir los datos personales de cada nino pedir la fecha de nacimiento y en base a eso calcular la edad.
__________________
"Eres grande por que caminas entre gigantes"
  #3 (permalink)  
Antiguo 22/01/2008, 11:18
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: cantidad de campos

hola mmunarriz, primero bienvenido a FDW, en cuanto a lo de la cantidad de formularios, realmente no se, pero no creo que sea dificil, me imagino que con un bucle while o foreach pasandole como variable la cantidad de forms que necesitas ya resuelves.
en cuanto a los hijos en la base de datos, es tan sencillo como la clasica base de datos padres e hijos (es justo lo que necesitas), haces una tabla hijos y la relacionas con la tabla de padres, asi mas o menos:

tabla padres
------------------------
padre_ID
padreNombre

tabla hijos
------------------------
hijo_ID
hijoNombre
hijoPadreID


el campo hijoPadreID de la tabla hijos, lo relacionas con el campo padre_ID de la tabla padres, una relacion de uno (padre) a varios (hijos), asi, ya despues por consulta resuelves los hijos que tiene cada padre.
espero resuelvas y entiendas lo que te pongo, de todas formas, si tienes dudas, gritassssssSs

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #4 (permalink)  
Antiguo 22/01/2008, 11:59
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: cantidad de campos

hola otra vez, estuve intentando hacer un script para lo que quieres, pero no me sale bien, de todos modos aqui dejo el codigo a ver si a otra persona lo puede arreglar:
pagina form.php
Código HTML:
<form action="hijos.php" method="POST" name="formulario">
    cantidad de campos<br>
    <input type="text" name="campos">
    <input type="submit" name="enviar" value="enviar">
</form> 
pagina hijos.php
Código PHP:
<?php
if(isset($_POST['enviar']) && $_POST['enviar'] == 'enviar'){
    
$campos $_POST['campos'];
    
$i 1;
    
$field "<input type='text' name='edad'><br>";
    
    echo 
"<form name='hijos'>";
    
    while (
$i <= $campos){
        print 
$field++;
    }
    
    echo 
"</form>";
}
?>
el problema es que no para el ciclo, me he fijado en el ejemplo de php.net, pero nada

saludos y suerte, a ver si se puede arreglar
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #5 (permalink)  
Antiguo 22/01/2008, 13:08
 
Fecha de Ingreso: enero-2008
Mensajes: 5
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: cantidad de campos

Hola rogertm, agradezco por tu tiempo. Toque apenas tu codigo y ya funciona!
Código PHP:
<?php
if(isset($_POST['enviar']) && $_POST['enviar'] == 'enviar'){
    
$campos $_POST['campos'];
    
$i 1;
    
$field "<input type='text' name='edad'><br>";
    
    echo 
"<form name='hijos'>";
    
    while (
$i <= $campos){
        print 
$field;
        
$i++;
    }

    
    echo 
"</form>";
}
?>
Gracias nuevamente,
Un Saludo!
  #6 (permalink)  
Antiguo 22/01/2008, 13:13
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: cantidad de campos

valla que bueno, si un dia me hace falta ya se donde lo tengo, jejejeje
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #7 (permalink)  
Antiguo 25/01/2008, 08:02
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: cantidad de campos

hola otra vez, retomo el tema por que he encontrado una forma mas sencilla y ligera para hacer esto con la funcion str_repeat, es sabido que los bucles consumen mucho en el server y es bueno no saturarlos, mira esto:
Código PHP:
<?php
if(isset($_POST['enviar']) && $_POST['enviar'] == 'enviar'){
    
$campos $_POST['campos'];
    echo 
"<form name='hijos'>";
    echo 
str_repeat("<input type='text' name='edad'><br>"$campos);    
    echo 
"</form>";
}
?>
ya lo dijo quien lo dijo, hay que leer el manual.

saludetes
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #8 (permalink)  
Antiguo 06/03/2008, 08:34
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: cantidad de campos

Uh, no conocía str_repeat()! La investigaré, sobretodo cuando dices que reemplaza a los bucles :P Gracias!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #9 (permalink)  
Antiguo 06/03/2008, 13:43
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 2
Re: cantidad de campos

fantastico lo el str_repeat, pero a mi me asalta una duda...

str_repeat, por lo que veo, devolveria algo tal que asi

<input type='text' name='edad'>

<input type='text' name='edad'>

<input type='text' name='edad'>

<input type='text' name='edad'>

....

y ahora... como hago yo si despues solo quiero utilizar los 3 primeros valores de 'edad', o como accedo concretamente al tercer valor de 'edad'?

porque en php ahora existe una variable llamada $edad claro, pero automaticamente se genera como un array que pueda acceder desde $edad[3] por ejemplo?
  #10 (permalink)  
Antiguo 06/03/2008, 14:06
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: cantidad de campos

Pruébalo pues. Envía el formulario y dale a imprimir los valores que recibiste por el POST. Si $_POST["edad"] es arreglo te debería imprimir "Array()", de lo contrario un valor vacío o lleno.
Si es array, entonces puedes manejarlo como has dicho.
Código PHP:
<?
// Recibiendo los valores
$edad $_POST["edad"];

print 
$edad;

// Si edad es Array, entonces:
$tercer_valor $edad[2];
?>
Por cierto no olvides que los arrays comienzan en cero, no en 1.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #11 (permalink)  
Antiguo 10/03/2008, 06:51
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 2
Re: cantidad de campos

pues no, de ninguna manera, ni con str_repeat ni nada, de hecho usando esta funcion ni siquiera consigo que repita nada ni una sola vez...

arf, estoy agobiado con esto, como leches hacen las aplicaciones web para funcionar en intranet las grandes empresas? XD
  #12 (permalink)  
Antiguo 10/03/2008, 06:52
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 17 años, 11 meses
Puntos: 2
Re: cantidad de campos

ostia tremendo... no funcionaba pq no pona "echo" delante del str_repeat

q burro por dios !
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 12:18.