Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Multiples entradas en un solo formulario

Estas en el tema de Multiples entradas en un solo formulario en el foro de Bases de Datos General en Foros del Web. buenas, tengo el siguiente formulario Código HTML: <form> <h2 class= "h2header" > Mercancias </h2> <table> <tr> <td> Carga: </td> <td> <input type= "text" name= "merc1" ...
  #1 (permalink)  
Antiguo 10/01/2011, 04:32
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 11 meses
Puntos: 2
Multiples entradas en un solo formulario

buenas,
tengo el siguiente formulario
Código HTML:
<form>
<h2 class="h2header">Mercancias</h2>
                                <table>
                                    <tr>
                                    	<td>Carga:</td>
                                        <td><input type="text" name="merc1" size="10"></td>
                                        <td width="2%"></td>
                                        <td>Tons:</td>
                                        <td><input type="text" name="tons1" size="10"></td>
                                        <td width="2%"></td>
                                        <td>Pcs:</td>
                                        <td><input type="text" name="pcs1" size="10"></td>
                                    </tr>
                                    <tr>
                                    	<td>Carga:</td>
                                        <td><input type="text" name="merc2" size="10"></td>
                                        <td width="2%"></td>
                                        <td>Tons:</td>
                                        <td><input type="text" name="tons2" size="10"></td>
                                        <td width="2%"></td>
                                        <td>Pcs:</td>
                                        <td><input type="text" name="pcs2" size="10"></td>
                                    </tr>
                                    <tr>
                                    	<td>Carga:</td>
                                        <td><input type="text" name="merc3" size="10"></td>
                                        <td width="2%"></td>
                                        <td>Tons:</td>
                                        <td><input type="text" name="tons3" size="10"></td>
                                        <td width="2%"></td>
                                        <td>Pcs:</td>
                                        <td><input type="text" name="pcs3" size="10"></td>
                                    </tr>
                                    <tr>
                                    	<td>Carga:</td>
                                        <td><input type="text" name="merc4" size="10"></td>
                                        <td width="2%"></td>
                                        <td>Tons:</td>
                                        <td><input type="text" name="tons4" size="10"></td>
                                        <td width="2%"></td>
                                        <td>Pcs:</td>
                                        <td><input type="text" name="pcs4" size="10"></td>
                                    </tr>
                                </table>
</form> 
la idea es que el usuario pueda introducir diferentes datos de una sola vez, me explico: paquete 1, 1100 tons, 1100 units
paquete 2, 2200 tons, 2200 units
paquete 3, 3300 tons, 3300 units
paquete 4, 4400 tons, 4400 units

y que al hacer submit en el formulario registre cada evento anterior como un nuevo registro en la tabla mercancias, es decir, un registro para paquete1 otro para paquete2 y sucesicamente.
  #2 (permalink)  
Antiguo 10/01/2011, 05:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Multiples entradas en un solo formulario

Si tu problema es cómo implementar el formulario, estás preguntando en el foro incorrecto. Eso es HTML y PHP, no bases de datos.
Si el problema es como hacer para enviar eso que has recogido a la base, bueno, hay varias formas pero la más usual es una ejecución iterativa de varios INSERT a la base, uno por cada registro o bien uno solo múltiple (carga masiva).

¿Cuál sería?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 10/01/2011, 05:21
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Multiples entradas en un solo formulario

hola,
en mi caso la duda es la forma de insertar los datos recogidos en el fomulario en la tabla mysql
  #4 (permalink)  
Antiguo 10/01/2011, 05:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Multiples entradas en un solo formulario

Simplemente lanzando inserts para cada juego de campos lo tendrias solucionado pero eso te permitirá entrar 4 paquetes lo que es una solución parcial, no conozco tu negoció pero por que no entrar 5 o 6...

Debes buscar una solución más abierta, por ejemplo, que el cliente/usuario pueda entrar de 1 a n paquetes. La solucion siempre serà recibir los datos identificar cada registro y hacer los INSERT INTO pertinentes.

Código MySQL:
Ver original
  1. INSERT INTO mercancias (id_usuario,fecha,merc,tons,pcs)
  2. ($id_usuario,$fecha,$merc1,$tons1,$pcs1),
  3. ($id_usuario,$fecha,$merc2,$tons2,$pcs2),
  4. ($id_usuario,$fecha,$merc3,$tons3,$pcs3),
  5. ($id_usuario,$fecha,$merc4,$tons4,$pcs4),
  6. ...
  7. ($id_usuario,$fecha,$mercN,$tonsN,$pcsN);


Nota: un saludo gnzsoloyo cuando he empezado no estaba tu post
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 10/01/2011, 05:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Multiples entradas en un solo formulario

¿Has hecho ya algún INSERT en una tabla en MySQL?
Bueno, el proceso es el mismo, pero poniendo todo el conjunto necesario dentro de un ciclo for x = 0; x < = y; x++;:
Código PHP:
<?php
    
for ($x 1$x <= y$x++) {
        
$result mysql_query('INSERT INTOtabla(campos) VALUES(...)');
        }
?>
Donde "y" es el total de lineas a procesar y los puntos representan los valores (tomados estos del form).

La otra opción es una carga masiva:
Código PHP:
<?php
    $qry 
"INSERT INTO tabla(campos) VALUES";
    for (
$x 1$x <= y$x++) {
        
$qry .="(".valores.")";
        if(
x<y){$qry .= ", ";}
        }
    
$result mysql_query($qry);
?>
donde "campos" es el conjunto de campos a ingresar, "valores" representa la creación de la cadena que debe llenar esos campos, con cada valor separado de otro por comas.
En este caso se incluye in fi() para agregarle una coma de separación a cada grupo de valores, excepto al último, de allí que se use sólo si es menor al límite.
Esto crea un INSERT con una sola llamada y múltiples valores como esta:
Código MySQL:
Ver original
  1. INSERT INTO tabla(campo1, campo2, campo3, ... campoN)
  2. (valor1, valor2, valor3, ... valorN),
  3. (valor1, valor2, valor3, ... valorN),
  4. (valor1, valor2, valor3, ... valorN),
  5. (valor1, valor2, valor3, ... valorN),
  6. (valor1, valor2, valor3, ... valorN);
de ese modo se insertan todos al mismo tiempo.

Nota: Si en ID de la tabla es autonumérico, ese campo y su valor no deben incluirse en las sentencias, no es necesario porque lo administra MySQL.

De todos modos es un tema más de PHP que de MySQL...

PD: Saludos Quimfv... a veces estamos al mismo tiempo, como con jurena
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 10/01/2011, 06:57
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Multiples entradas en un solo formulario

gracias por la info...entiendo que la opcion de carga masiva que comenta gnzsoloyo se utiliza cuando quieres que agregue un mismo registro varias/miles de veces no?...

ahora solo me surge una duda, en el caso de que los campos esten vacios por que no se completan las cargas (en mi caso) como hacemos para que el script no agregue un registro vacio??
  #7 (permalink)  
Antiguo 10/01/2011, 07:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Multiples entradas en un solo formulario

Cita:
gracias por la info...entiendo que la opcion de carga masiva que comenta gnzsoloyo se utiliza cuando quieres que agregue un mismo registro varias/miles de veces no?...
No. Se usa cuando quieres cargar muchos registros rápidamente, pero no necesariamente para que los datos sean iguales.
Por eso te estoy indicando que se toman del formualrio en el contexto en que lo propones tu: diferentes "renglones" con diferentes datos. La idea es que recorras tu propio formulario y con cada "renglón" generes un conjunto VALUE que se insertará.
Pensé que lo puesto era suficientemente claro como para que se entendiera.
Cita:
ahora solo me surge una duda, en el caso de que los campos estén vacíos por que no se completan las cargas (en mi caso) como hacemos para que el script no agregue un registro vacio??
Eso lo tienes que resolver en la aplicación y es siempre la parte más tediosa: Tienes que hacer que ese formulario sea a prueba de idiotas, como dicen los profesores de programación.
Lo que debes hacer es crearle rutinas de validación tales que sea imposible que el usuario (la interfase silla-teclado, según un amigo mío) deje campos sin llenar o meta datos erróneos... O sea tienes bastante trabajo por delante...

Esas validaciones no deben ser realizadas por la base. Son asunto de programación, y el formulario sólo debe permitir guardar los datos si y solo si se han llenado todos.

¿Nunca llenaste un formulario en internet con esas restricciones? Bueno, es el mismo caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 10/01/2011, 07:43
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Multiples entradas en un solo formulario

gracias por la respuesta

Etiquetas: entradas, multiples, 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 23:27.