Foros del Web » Programando para Internet » PHP »

Añadir varias filas de una atacada

Estas en el tema de Añadir varias filas de una atacada en el foro de PHP en Foros del Web. Bien, estoy metido en un proyecto personal y me surge una duda, a ver si me podeis ayudar: tengo una base de datos en la ...
  #1 (permalink)  
Antiguo 15/12/2006, 05:39
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Añadir varias filas de una atacada

Bien, estoy metido en un proyecto personal y me surge una duda, a ver si me podeis ayudar:

tengo una base de datos en la que existe una tabla llamada personas, que tienen sus campos, nombre, edad, etc...

La tabla tiene un campo id autonumerico para identificar a cada persona.

La cosa es de lo mas normal, pero quiero hacer una cosa que no como se podria hacer, es mas no se ni si se puede hacer!

Se que siempre quiero insertar a 15 personas con sus caracteristicas de una vez, por lo tanto quiero crear un formulario que tenga 15 campos nombre, 15 campos edad, etc, etc... y que cuando le de a enviar se añadan los 15 campos en la tabla.

¿se puede?¿como?, si no se puede, ¿se os ocurre una alternativa?
  #2 (permalink)  
Antiguo 15/12/2006, 05:47
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Añadir varias filas de una atacada

Puedes crear los campos como arrays

<input name="nombre[]" ....

Luego los recoges igual $_POST['nombre']

Recorres el bucle e insertas. Aún así no olvides checkear los valores pues te llegaran todos los campos aunque estén vacíos.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 15/12/2006, 07:03
Avatar de kennyhp  
Fecha de Ingreso: julio-2006
Mensajes: 370
Antigüedad: 17 años, 9 meses
Puntos: 5
Re: Añadir varias filas de una atacada

Ok, creo que te entiendo, pero ¿se pueden crear arrais en HTML? lo digo por que al poner el nombre <input name="nombre[]... es HTML ¿verdad?
  #4 (permalink)  
Antiguo 15/12/2006, 07:21
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 8 meses
Puntos: 5
Re: Añadir varias filas de una atacada

yo he trabajado bastante de ese mode y funciona super bien.
en html el input su nombre de arreglo eso no importa, importa para el php
cuando resibes un input lees el nombre, pero aca leeras un arreglo y trabajaras como un arreglo.
ejemplo:
Código PHP:
$nombre $_POST['nombre']; //asi recibes si no fuera arreglo 
en caso de un nombre de arreglo yo lo hago asi
Código PHP:
$_POST['nombre'] = array();
$nombre      =   $_POST['nombre']; 
  #5 (permalink)  
Antiguo 15/12/2006, 07:22
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 19 años, 10 meses
Puntos: 25
Re: Añadir varias filas de una atacada

En HTML no se pueden crear arrays como lo planteas, pero creo que sí se pueden recoger. Me explico...

Si tú tienes un
Código HTML:
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br> 
Al recoger estos datos, creo que se podían recoger como un array

Pero esto es probarlo.
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles
  #6 (permalink)  
Antiguo 15/12/2006, 07:25
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 8 meses
Puntos: 5
Re: Añadir varias filas de una atacada

Cita:
Iniciado por eContento Ver Mensaje
En HTML no se pueden crear arrays como lo planteas, pero creo que sí se pueden recoger. Me explico...

Si tú tienes un
Código HTML:
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br> 
Al recoger estos datos, creo que se podían recoger como un array

Pero esto es probarlo.

lo otro yo los input los completo asi
Código PHP:
for($i=0;$i<=$N;$i++)
   echo 
"<input type=\"text\" name=\"nombre[$i]" >"; 
  #7 (permalink)  
Antiguo 15/12/2006, 10:45
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Añadir varias filas de una atacada

Cita:
Iniciado por eContento Ver Mensaje
En HTML no se pueden crear arrays como lo planteas, pero creo que sí se pueden recoger. Me explico...

Si tú tienes un
Código HTML:
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br>
<input type="text" name="nombre" /><input type="text" name="apellidos" /><br> 
Al recoger estos datos, creo que se podían recoger como un array

Pero esto es probarlo.
Si q se puede. Yo tengo una manera de hacer una múltiple subida de ficheros con:

Código HTML:
<input type="file" name="archivo[]">
<input type="file" name="archivo[]">
<input type="file" name="archivo[]">
........
<input type="file" name="archivo[]"> 
Y luego:

Código PHP:
$archivo=$_FILES['archivo'];
for (
$i=0;$i<count($archivo['name']);$i++) {
      if (
$planos['name'][$i]!="") { //Controlo que lleva un archivo valido. Tambien podria usar el tamaño. 
    
$subidos++;
    
$nuevo[$i]=addslashes (trim ($_POST["tipoimagen".($i+1)]));
      } else {
    
$nuevo[$i]=NULL;//Este no contiene archivo.
      
}

Esto lo he puesto solo como ejemplo. Valida los tipos de archivo q quiera recibir.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
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 11:04.