<?php
/*
    @script Ejecuta un expotar de base de datos
    @params desde fecha de inicio del reporte
    @params hasta fecha de fin del reporte
*/
?>

Parametros <br>
GET <br>
<b>desde: </b> Y-m-d / <?php echo date('Y-m-d'); ?><br>
<b>hasta: </b> Y-m-d / <?php echo date('Y-m-d'); ?><br>
<p>Desde < Hasta</p>
<br>
<br>
<br>
Resultado<br>



<?php


        //$argv[1]; == $_GET
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    include('conexion.php'); 
        
    if(isset($_GET['desde'])){	
        $desde = date('Y-m-d',strtotime($_GET['desde']));
        $hasta = date('Y-m-d',strtotime($_GET['hasta']));
        $tabla = $_GET['t'];
        $indice = $_GET['i'];
    }else{
        echo 'Sin fechas en la consulta';
   
    }
 
    $consulta = "SELECT * FROM $tabla";

    //Cantidad de filas de la consulta
    if ($result = $mysqli->query($consulta)) {
        $cant_filas = $result->num_rows;      
        $result->close();
    }


    //archivo de escritura
    $fp = fopen('export.sql', 'w+');
    
    /*   Opcion 1 = Funciona solo en caso de que exportas todo siempre    */
    /*
        $sqlDelete = "DELETE FROM `wc_rudy`.`facturas` WHERE 1; 
    */

    /*   Opcion 2 = Funciona cuando exportas una forma parcial de la bd    */
    /*
        $sqlDelete = "DELETE FROM `wc_rudy`.`facturas` WHERE id IN ()"; 
    */
    $sql = "DELETE FROM $tabla WHERE $indice in (";    
    fputs($fp,$sql);    
    if($cant_filas > 0){ 
        if ($resultado = $mysqli->query($consulta)){
            $interacion = 0;
            while ($fila = $resultado->fetch_assoc()) {           
                $idFila = $fila[$indice];
                fputs($fp,$idFila); // IN (1,2,3, ... ,x)                                
                $interacion++;
                $coma = ',';		
                
                if($interacion == $cant_filas){
                    $coma = trim($coma,',');
                    $coma = ');';
                }
                fputs($fp,$coma);
            }
            fputs($fp,"\r\n"); 
        }
    }else{
        echo 'Sin datos para leer en $consulta';
    }
    /*FIN SQL DELETE*/
    
    $sql = 'INSERT INTO `facturas`(';    
    fputs($fp,$sql);
    $valores = '';
    $columnas = '';
    $interacion = 0;
    
    if ($resultado = $mysqli->query($consulta)){
        while ($fila = $resultado->fetch_assoc()) {                    
            $valores .= '(';
            foreach($fila as $key => $value){
                 if($interacion == 0){ 
                    $columnas .= "$key,"; 
                 }
                 $valores .= "'$value',";        
                 echo 'id: '.$value.'<br>';
                 
            }
            if($interacion == 0){                
                fputs($fp,trim($columnas,',').") \r\n VALUES \r\n");
            }
            $valores = trim($valores,',');          
            $interacion++;
            $valores .= "),";
			
			
            if($interacion == $cant_filas){
                $valores = trim($valores,',');
                fputs($fp,$valores."\r\n");  
            }
        }
    }
        
    fgets($fp);