Foros del Web » Programando para Internet » PHP »

Como inserto varios a la vez

Estas en el tema de Como inserto varios a la vez en el foro de PHP en Foros del Web. tengo un formulario Código HTML: <table> <tr> <td> <b> ID </b> <td> <b> Nombres </b> <td> <b> Apellido Paterno </b> <td> <b> Rut </b> Código ...
  #1 (permalink)  
Antiguo 06/12/2011, 17:08
Avatar de carlod_39  
Fecha de Ingreso: noviembre-2011
Ubicación: FAfdddsf
Mensajes: 59
Antigüedad: 12 años, 4 meses
Puntos: 1
Pregunta Como inserto varios a la vez

tengo un formulario
Código HTML:
<table>
<tr>
<td><b>ID</b>
<td><b>Nombres</b>
<td><b>Apellido Paterno</b>
<td><b>Rut</b> 
Código PHP:
<?php
echo '<tr><form action="insertarph.php" method="post">';
echo 
'<td><INPUT TYPE="text" NAME="id" value="'.$row[id].'">';
echo 
'<td><INPUT TYPE="text" NAME="1" value="'.$row[nombres].'">';
echo 
'<td><INPUT TYPE="text" NAME="2" value="'.$row[apellido].'">';
echo 
'<td><INPUT TYPE="text" NAME="3" value="'.$row[rut].'">';
?>
Código HTML:
</table><INPUT TYPE='SUBMIT' value='Guardar' onclick="return confirmar()"></FORM> 
como hago para guardar todos los datos a la vez (dependiendo de la cantidad de usuarios)
un ejemplo:

ID Nombre Apellido Rut
1 Juan Aquea 15.545.545-5
2 Pedro Rojas 7.545.254-4
3 Luis Torres 19.254.254-9
4 Paco Godoy 22.145.312-k

solo se guarda el ultimo que en este caso seria "Paco" los balores los traigo de otra tabla ¿como deberia ser para que funcione?
gracias de antemano

Última edición por carlod_39; 06/12/2011 a las 17:13 Razón: corrección
  #2 (permalink)  
Antiguo 06/12/2011, 17:29
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 12 años, 4 meses
Puntos: 23
Respuesta: Como inserto varios a la vez

Hola
Pregunta: ¿puedes poner el código de la página que te envía los datos?
  #3 (permalink)  
Antiguo 06/12/2011, 17:47
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Como inserto varios a la vez

a que llamas todos los datos?? tienes un bucle recorriendo para mostrar los inputs llenos??
coloca los inputs como array de tal manera que puedas iterar sobre lo que envies en el formulario, eso si entendi bien tu duda, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 07/12/2011, 15:18
Avatar de carlod_39  
Fecha de Ingreso: noviembre-2011
Ubicación: FAfdddsf
Mensajes: 59
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Como inserto varios a la vez

Cita:
Iniciado por ElSiniestro Ver Mensaje
Hola
Pregunta: ¿puedes poner el código de la página que te envía los datos?
los datos se obtienen de la base de datos con
Código PHP:
$result=mysql_query("select * from maestro_personal where estado=0 order by id");
while(
$row=mysql_fetch_array($result)){ 
  #5 (permalink)  
Antiguo 07/12/2011, 15:24
Avatar de carlod_39  
Fecha de Ingreso: noviembre-2011
Ubicación: FAfdddsf
Mensajes: 59
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Como inserto varios a la vez

Cita:
Iniciado por carlos_belisario Ver Mensaje
a que llamas todos los datos?? tienes un bucle recorriendo para mostrar los inputs llenos??
coloca los inputs como array de tal manera que puedas iterar sobre lo que envies en el formulario, eso si entendi bien tu duda, saludos
es un formulario dinamico, mientras mas usuarios existan en la base de datos más veces se repite el formulario no se si se entiende (no verifica si estan todos los input llenos solo los ingresa)
  #6 (permalink)  
Antiguo 07/12/2011, 15:40
Avatar de ElSiniestro  
Fecha de Ingreso: diciembre-2011
Ubicación: Ibagué
Mensajes: 115
Antigüedad: 12 años, 4 meses
Puntos: 23
Respuesta: Como inserto varios a la vez

¿Pero dónde necesitas guardarlo? ¿en otra base de datos?
  #7 (permalink)  
Antiguo 07/12/2011, 17:16
Avatar de carlod_39  
Fecha de Ingreso: noviembre-2011
Ubicación: FAfdddsf
Mensajes: 59
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Como inserto varios a la vez

Cita:
Iniciado por ElSiniestro Ver Mensaje
¿Pero dónde necesitas guardarlo? ¿en otra base de datos?
si, porque necesito que los datos sean fijos y no se puedan modificar no se si existe alguna forma mejor de hacerlo
porque la primera base de datos es modificable pero la segunda se guarda una vez al mes (son los sueldos que se pagan)
  #8 (permalink)  
Antiguo 07/12/2011, 17:24
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Como inserto varios a la vez

pues deberias de tener un solo form y dentro de este puedes crear la cantidad de items que desees, te pongo un ejemplo
Código PHP:
Ver original
  1. <form name="form1" action="proceso.php" method="post">
  2.     <?php
  3.     for($i=0; $i<10; $i++) {?>
  4.         <input type="text" name="texto[]" value="<?php echo $i ?>"/>  
  5.     <?php
  6.     }?>
  7.    <input type="submit" />
  8. </form>
en el archivo proceso.php haces esto
Código PHP:
Ver original
  1. foreach($_POST['texto'] as $k => $i) {
  2.    echo "el item " . $k  . " => valor " . $i;
  3. }
y trabajaste un input como arreglo sin importar la cantidad de item que generes, de tal manera que puedes generar tu consulta recorrer los item que generaste e insertarlos en la base de datos cuando quieras, espero te ayude mi observacion, creo que es lo que buscas
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 07/12/2011, 19:39
Avatar de carlod_39  
Fecha de Ingreso: noviembre-2011
Ubicación: FAfdddsf
Mensajes: 59
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Como inserto varios a la vez

y como hago para que cada item tenga un nombre distinto
  #10 (permalink)  
Antiguo 07/12/2011, 19:52
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Como inserto varios a la vez

pues eso ya esta en tu logica, como te dije los formularios permiten meterle la cantidad de inputs que tu desees, con el nombre que desees, incluso trabajarlos como arreglos de la manera que te indique para que se puedan trabajar facilmente los check y los campos que son generados dinamicamente con distintos valores, solo es cuestion de que te pongas a hacer lo que deseas, ya con lo que te di anteriormente deberias de tener por lo menos una idea, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 07/12/2011, 19:57
Avatar de carlod_39  
Fecha de Ingreso: noviembre-2011
Ubicación: FAfdddsf
Mensajes: 59
Antigüedad: 12 años, 4 meses
Puntos: 1
Pregunta Respuesta: Como inserto varios a la vez

parece que no me entiendes porque ya tengo un formulario donde aparece el id, nombre, apellido y rut lo que pasa es que el formulario se repite tantas veces como usuarios tenga registrados ejemplo

usuarios registrados

ID Nombre Apellido Rut
1 Juan Aquea 15.545.545-5
2 Pedro Rojas 7.545.254-4
3 Luis Torres 19.254.254-9
4 Paco Godoy 22.145.312-k

y al entrar en la pagina de localhost/guardar.php se genera el siguiente código

Código HTML:
<form action="insertarph.php" method="post">';
<INPUT TYPE="text" NAME="id" value="'1'">';
<INPUT TYPE="text" NAME="1" value="'Juan'">';
<INPUT TYPE="text" NAME="2" value="'Aquea'">';
<INPUT TYPE="text" NAME="3" value="'15.545.545-5'">';
<INPUT TYPE='SUBMIT' value='Ingresar' onclick="return confirmar()">

<form action="insertarph.php" method="post">';
<INPUT TYPE="text" NAME="id" value="'2'">';
<INPUT TYPE="text" NAME="1" value="'Pedro'">';
<INPUT TYPE="text" NAME="2" value="'Rojas'">';
<INPUT TYPE="text" NAME="3" value="'7.545.254-4'">';
<INPUT TYPE='SUBMIT' value='Ingresar' onclick="return confirmar()">

<form action="insertarph.php" method="post">';
<INPUT TYPE="text" NAME="id" value="'3'">';
<INPUT TYPE="text" NAME="1" value="'Luis'">';
<INPUT TYPE="text" NAME="2" value="'Torres'">';
<INPUT TYPE="text" NAME="3" value="'19.254.254-9'">';
<INPUT TYPE='SUBMIT' value='Ingresar' onclick="return confirmar()">

<form action="insertarph.php" method="post">';
<INPUT TYPE="text" NAME="id" value="'4'">';
<INPUT TYPE="text" NAME="1" value="'Paco'">';
<INPUT TYPE="text" NAME="2" value="'Godoy'">';
<INPUT TYPE="text" NAME="3" value="'22.145.312-k'">';
<INPUT TYPE='SUBMIT' value='Ingresar' onclick="return confirmar()"> 
con un botón guardar cada uno pero lo que quiero es que solo tenga un botón guardar y guarde todos junto a la vez he intentado de varias formas distintas sin que resulte

he visto que se insertan varios datos a la ces con

Código PHP:
INSERT INTO tabla (campo1campo2campo3VALUES
(v1_1v1_2v1_3),
(
v2_1v2_2v2_3),
(
v3_1v3_2v3_3); 
pero nose como hacer para que se cree automáticamente con php

Última edición por carlod_39; 14/12/2011 a las 14:28

Etiquetas: a_la_vez, en_php, insertar_varios, sql
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 08:10.