Foros del Web » Programando para Internet » PHP »

insertar varios registros de una vez en una tabla

Estas en el tema de insertar varios registros de una vez en una tabla en el foro de PHP en Foros del Web. Por aqui nuevamente con una preguntita.... amigos, como puedo insertar varios registros a la vez en una misma tabla?? me refiero a lo siguiente: tengo ...
  #1 (permalink)  
Antiguo 14/07/2011, 07:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 15 años, 6 meses
Puntos: 11
insertar varios registros de una vez en una tabla

Por aqui nuevamente con una preguntita....

amigos, como puedo insertar varios registros a la vez en una misma tabla??

me refiero a lo siguiente: tengo una tabla alumnos con campos nombre, edad, direccion... por lo que en un formulario quisiera poner

pedro 21 los_alerces
juan 23 los_alamos
diego 22 los_pinos

y cuando aprete el submit me los inserte de una vez en la tabla alumnos

esteré pendiente a las ayudas... saludos a todos.
  #2 (permalink)  
Antiguo 14/07/2011, 07:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: insertar varios registros de una vez en una tabla

Solo es cuestión de ingresar los datos en un array e ir iterando cada uno de los valores.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 14/07/2011, 08:15
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: insertar varios registros de una vez en una tabla

Una de las formas es como dice abimaelrc ya que PHP realiza una petición a la vez por cada registro... esto quiere decir que PHP hará un mysql_query por cada uno de los registros que quieras insertar.

Existe otra forma que es con MySqli que es una librería PHP en la cual puedes enviar varias peticiones SQL con una sola conexión a la base de datos, pero esto implica tener un conocimiento mas avanzado de PHP y también saber Programación Orientada a Objetos.

Espero que esto te sirva de ayuda para tu código.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 14/07/2011, 08:31
 
Fecha de Ingreso: marzo-2011
Ubicación: Caracas
Mensajes: 389
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: insertar varios registros de una vez en una tabla

Interesante eso de mysqli. voy a enterarme mas de ello a ver. yo normalmente lo que hago es crear una variable que me concatener el query completo y luego esa se la paso al mysql_query. Me explico. si traigo varios registros. lo guardo en un arreglo. luego recorro el arreglo armando el query y despues hago la consulta.
  #5 (permalink)  
Antiguo 14/07/2011, 08:35
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: insertar varios registros de una vez en una tabla

seria bueno saber como quieres obtener esos datos en la pantalla

por medio de cuadros de texto ,de combos o multiselect para tener una mejor idea de como podrias insertarlos
pero en general para insertar ciclicamente podrias utilizar whiles o fors
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #6 (permalink)  
Antiguo 14/07/2011, 08:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: insertar varios registros de una vez en una tabla

Cita:
Iniciado por jotaincubus Ver Mensaje
Una de las formas es como dice abimaelrc ya que PHP realiza una petición a la vez por cada registro... esto quiere decir que PHP hará un mysql_query por cada uno de los registros que quieras insertar.

Existe otra forma que es con MySqli que es una librería PHP en la cual puedes enviar varias peticiones SQL con una sola conexión a la base de datos, pero esto implica tener un conocimiento mas avanzado de PHP y también saber Programación Orientada a Objetos.

Espero que esto te sirva de ayuda para tu código.
Estas un poco incorrecto, si bien MySQLi, dispone de mysqli_multi_query() para enviar muchos queries, es lo mismo que si hicieras lo que dice abimaerlc de usar varias veces mysql_query() ambas mandan muchos queries en la misma conexión, no importa que mandes llamar muchas veces, todas actual sobre la misma conexión activa.

Saludos.
  #7 (permalink)  
Antiguo 14/07/2011, 08:42
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: insertar varios registros de una vez en una tabla

en la pagina que procesa el formulario hace esto:

var_dump($_REQUEST);

y lo vemos, no es dificil
  #8 (permalink)  
Antiguo 14/07/2011, 08:47
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: insertar varios registros de una vez en una tabla

Cita:
Iniciado por GatorV Ver Mensaje
Estas un poco incorrecto, si bien MySQLi, dispone de mysqli_multi_query() para enviar muchos queries, es lo mismo que si hicieras lo que dice abimaerlc de usar varias veces mysql_query() ambas mandan muchos queries en la misma conexión, no importa que mandes llamar muchas veces, todas actual sobre la misma conexión activa.

Saludos.
Sumo a este comentario:
En mysqli existe esto:

INSERT INTO tabla VALUES (1,'pepe', 10.2), (2, 'svn', 456.2), etc

quizas apunta a algo menos confuso
  #9 (permalink)  
Antiguo 14/07/2011, 09:21
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 15 años, 6 meses
Puntos: 11
Respuesta: insertar varios registros de una vez en una tabla

Amigos he intentado hacer lo que me dijo abimaelrc pero lo que mejor me ha funcionado es que me inserte solo un registro de tres.... me pueden corregir por favor??

Código PHP:
if( isset( $_POST["submit"] ) ) 

for(
$x =$x 10 $x++) // 

if(isset($_POST["nombre" $x]))

{

include 
"conexion.php";
    
    
$que "INSERT INTO alumnos( nombre, edad, direccion) ";
    
$que.= "VALUES ('".$_POST["nombre".$x]."', '".$_POST["edad".$x]."', '".$_POST["direccion".$x]."') ";
    
$res mysql_query($que$conexion) or die(mysql_error());

}
else
echo 
"Selecciona los datos correspondientes.<br>";
?>

<form method="POST">
Registro 1
<br>
cantidad:         
<input type="text" name="nombre1">
subtotal:        
<input type="text" name="edad1">
factura: 
<input type="text" name="direccion1">

<br />
Registro 2
<br>
cantidad:         
<input type="text" name="nombre2">
subtotal:        
<input type="text" name="edad2">
factura: 
<input type="text" name="direccion2">
Registro 3

<br>
cantidad:         
<input type="text" name="nombre3">
subtotal:        
<input type="text" name="edad3">
factura: 
<input type="text" name="direccion3">
<input type ="submit" name="submit" value="OK">
</form> 


he probado poniendole if, sacandoselos, cambiando varias cosas pero no logro entenderlo les pido su ayuda... gracias..
  #10 (permalink)  
Antiguo 14/07/2011, 11:15
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: insertar varios registros de una vez en una tabla

YYYY te faltan un par de llaves amiguito....
  #11 (permalink)  
Antiguo 14/07/2011, 12:28
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 15 años, 6 meses
Puntos: 11
Respuesta: insertar varios registros de una vez en una tabla

gracias, ya lo solucione...

Etiquetas: registro, registros, tabla, vez, 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 04:35.