Quantcast
Channel: Guardar varios registros a la vez a partir de un rango de fechas - Stack Overflow en español
Viewing all articles
Browse latest Browse all 3

Respuesta de varTob en Guardar varios registros a la vez a partir de un rango de fechas

$
0
0

Debes generar las fechas que están entre tu fecha de inicio y término, recorrerlas y hacer el insert en la bd, te dejo un ej.:

PHP

// tus datos de entrada$start = '2018-11-01';$end   = '2018-11-08';// generas las fechas entre el periodo$end = new DateTime($end); // éstas 2 lineas son necesarias para que DatePeriod incluya la ultima fecha$end->modify('+ 1 day');$period = new DatePeriod(    new DateTime($start),    new DateInterval('P1D'), $end);// recorres las fechas y haces tu insertforeach ($period as $key => $value) {    $date = $value->format('Y-m-d');    // genera tu sql    $sql  = "INSERT INTO tabla (`fecha`, `..`) VALUES ('$date', '..')";    //echo $sql.'<br>';    // ejecuta el sql (insert)...}

Ej. del sql generado:

INSERT INTO tabla (`fecha`, `..`) VALUES ('2018-11-01', '..')INSERT INTO tabla (`fecha`, `..`) VALUES ('2018-11-02', '..')INSERT INTO tabla (`fecha`, `..`) VALUES ('2018-11-03', '..')INSERT INTO tabla (`fecha`, `..`) VALUES ('2018-11-04', '..')INSERT INTO tabla (`fecha`, `..`) VALUES ('2018-11-05', '..')INSERT INTO tabla (`fecha`, `..`) VALUES ('2018-11-06', '..')INSERT INTO tabla (`fecha`, `..`) VALUES ('2018-11-07', '..')INSERT INTO tabla (`fecha`, `..`) VALUES ('2018-11-08', '..')

El código propuesto funciona si ambas fechas son iguales y también en caso de que no lo sean.

Link de la documentación oficial sobre el uso de DatePeriod: http://php.net/manual/es/class.dateperiod.php


Viewing all articles
Browse latest Browse all 3

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>