Insertar múltiples registros (php+mysql)

Cuando trabajamos con aplicaciones web, es muy frecuente la utilización de php para insertar filas o registros en las tablas de la base de datos mysql.

Si bien lo más habitual es insertar los registros uno por uno, puede presentarse la necesidad de tener que insertar múltiples registros con los mismos campos en una sóla consulta o INSERT. Para ello nos valdremos de la ayuda de php.

Empezaremos primero por ver cómo se inserta un registro desde php a una base de datos mysql. En este caso vamos a suponer que tenemos una tienda online y queremos registrar un cliente, necesitaremos en primer lugar un formulario html que envíe los datos a la página donde nos encargaremos de recogerlos.

1- INSERTAR UNA FILA O REGISTRO EN PHP Y MYSQL

Preparamos nuestro formulario que va a enviar toda la información introducida a la página inserta-clientes.php, como podemos ver en el form action.

formulario.php

Damos por supuesto que tenemos nuestra tabla preparada con los campos preparados en mysql.

Ahora toca recoger los datos que introduciremos en la base de datos.

inserta-clientes.php

Esta es la forma más básica de hacerlo, aunque podemos trabajarla para incluir algo de seguridad, en otro artículo explicaremos cómo hacer esto de forma más segura y completa para también así impedir que se inserten registros ya existentes.

2- INSERTAR MÚLTIPLES REGISTROS EN PHP Y MYSQL

Muchas veces tendremos la necesidad de insertar múltiples registros o filas en la base de datos con una sola consulta, para lo cual hay que valerse de la ayuda de php. Lo que haremos será realizar los siguientes pasos:

1- Preparar el formulario html para poder enviar múltiples inputs con el mismo name, es decir, en la página de insertar múltiples registros recibiremos múltiples resultados por cada variable. Para ello en el atributo name del imput introduciremos los corchetes tras el nombre que le demos, por ejemplo <input type=”text” name=”articulos[]”>

2- Enviamos el formulario html y recogemos los resultados enviados al igual que cuando tenemos que insertar un sólo registro.

3- Para insertar múltiples registros debemos averiguar primero cuántos registros o filas hemos enviado, para lo cual podemos ayudarnos de count en php.

4- Una vez sabemos las filas que vamos a introducir en la base de datos realizaremos un bucle for que se repetirá tantas veces como filas tengamos y que contendrá la consulta INSERT. 

Ejemplo práctico

formulario.php

Nota: Observar el detalle del atributo name al que le hemos añadido el corchete.

Inserta-clientes.php

Ésta sería una de las maneras para introducir múltiples registros en una base de datos con una sola consulta.

APLICACIONES PRÁCTICAS

Una aplicación práctica para hacer este tipo de inserción múltiple puede ser a la hora de hacer ofertas que constan de varios artículos, Imaginamos que cada linea de la oferta es un artículo o servicio (diseño de la web, posicionamiento SEO, mantenimiento… ) Cada uno de estos productos o servicios podrían ir dentro de un formulario con el atributo name = servicios.

Summary
Artículo
Insertar múltiples registros en mysql y php
Descripción
Insertar múltiples registros en mysql y php
Si te sirve de ayuda, no dudes en compartir!Share on LinkedInShare on FacebookTweet about this on TwitterPin on PinterestShare on Google+

Deja un comentario