Estoy insertando datos de una BD SQL a una BD MySQL, este proceso lo realizo todos los diaz con una tarea programada de windows, esto funciona a la perfeccion durante todo el mes, el problema esta que cuando cambio de mes, por ejemplo 31-08-2009 al 01-09-2009 no me inserta ningun dato que haya quedado del mes anterior, me inserta solo los del mes presente osea desde las 00:00:00 en adelante.
Si alguien conoce alguna solucion favor que me ayude.
Aqui dejo el codigo.
Código:
<?php ini_set('max_execution_time','9000'); ini_set('max_input_time','9000'); ini_set('mysql.connect_timeout','9000'); ini_set('memory_limit','1500M'); ini_set('buffering ','0'); ?> <html> <head> <title>Recolector Actaris SQL</title> <?php include('cnnsql.php'); include('cnn.php'); include('funciones.php'); $mes=date('m'); $ano=date('Y'); $dia=date('d'); $fecha_inicio=$ano."-".$mes."-01 00:00.000"; $fecha_actual=$ano."-".$mes."-".$dia." 23:45.000"; $consulta=mssql_query("SELECT A.DATETIME ,A.IDCLIENT,B.DESCRIPTION,A.NOINS, Sum(CASE WHEN A.IDVAR = 'WhD' THEN A.READVAL ELSE 0 END) AS CANAL1, Sum(CASE WHEN A.IDVAR = 'WhR' THEN A.READVAL ELSE 0 END) AS CANAL2, Sum(CASE WHEN A.IDVAR = 'F' THEN A.READVAL ELSE 0 END) AS CANAL3, Sum(CASE WHEN A.IDVAR = 'VarhD' THEN A.READVAL ELSE 0 END) AS CANAL4, Sum(CASE WHEN A.IDVAR = 'VArhR' THEN A.READVAL ELSE 0 END) AS CANAL5, Sum(CASE WHEN A.IDVAR = 'FP' THEN A.READVAL ELSE 0 END) AS CANAL6 FROM READMASS A, TOPOLOGY B ,CLIENTS C WHERE A.DATETIME BETWEEN '$fecha_inicio' AND '$fecha_actual' AND A.NOINS = B.NOINS AND C.USER_DEFINED1 <> 'PUNTO DE VENTA' AND A.IDCLIENT = C.IDCLIENT AND B.IDINSTYPE='SL7000' GROUP BY A.DATETIME,A.IDCLIENT,B.DESCRIPTION,A.NOINS ORDER BY B.DESCRIPTION,A.IDCLIENT ,A.DATETIME ASC "); ?> <?php while ($row=mssql_fetch_array($consulta)) { $nume_fila=$nume_fila+1; $medidor=$row["NOINS"]; $fecha_lect=$row["DATETIME"]; $descripcion=$row["DESCRIPTION"]; $id_cliente=$row["IDCLIENT"]; $identificador=$medidor.'-'.$fecha_lect; $fch_b=explode('-',$fecha_lect); $diaa=$fch_b[0]; $mess=$fch_b[1]; $anoo=$fch_b[2]; $anoo2=substr ($anoo, -10,4); $horaa=substr ($anoo, -5,7); $fecha_base=$anoo2.'-'.$mess.'-'.$diaa.' '.$horaa; $cn1=$row["CANAL1"]; $cn2=$row["CANAL2"]; $cn3=$row["CANAL3"]; $cn4=$row["CANAL4"]; $cn5=$row["CANAL5"]; $cn6=$row["CANAL6"]; $fechae[$i++]= $fecha_base.','.$cn1.','.$cn2.','.$cn3.','.$cn4.','.$cn5.','.$cn6.','.$anoo2.','.$mess.','.$diaa.','.$horaa.','.$identificador.','.$medidor.','.$descripcion.','.$id_cliente; $verif=1; } if($verif==1) { $fecha_edita=$fecha_lect; $fch_ed=explode('-',$fecha_edita); $diae=$fch_ed[0]; $mese=$fch_ed[1]; $anoe=$fch_ed[2]; $anoo2e=substr ($anoo, -10,4); $horae=substr ($anoo, -5,7); $fecha_edicion=$anoo2e.'-'.$mese.'-'.$diae.' '.$horae; $fecha_edit=date('Y-m-d H:i:s'); #for ($i = 0; $fechae[$i++]; $i++){ foreach($fechae as $var => $val) { $pag_uno=explode(",",$val); $fechaer=$pag_uno[0]; $cn1=$pag_uno[1]; $cn2=$pag_uno[2]; $cn3=$pag_uno[3]; $cn4=$pag_uno[4]; $cn5=$pag_uno[5]; $cn6=$pag_uno[6]; $year=$pag_uno[7]; $mes=$pag_uno[8]; $dia=$pag_uno[9]; $hora=$pag_uno[10]; $identificador=$pag_uno[11]; $medidor=$pag_uno[12]; $descripcion=$pag_uno[13]; $id_cliente=$pag_uno[14]; $sql="INSERT INTO datas_six_act( identificador,id_prime,descripcion,fecha_lect,chanel1 ,chanel2 ,chanel3 ,chanel4 ,chanel5 ,chanel6 ,yearx, mesx ,diax ,horax,fecha_edit,id_cliente ) VALUES ('$identificador','$medidor','$descripcion','$fechaer','$cn1','$cn2','$cn3','$cn4','$cn5','$cn6','$year','$mes','$dia','$hora','$fecha_edicion','$id_cliente')"; mysql_query($sql,$link); } } echo "Los Datos Se Procesaron Exitosamente...!!"; ?> </body> </html>