Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/01/2011, 05:40
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
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)