![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
21/09/2009, 10:43
|
| | Fecha de Ingreso: enero-2009
Mensajes: 106
Antigüedad: 16 años, 1 mes Puntos: 0 | |
Insertar datos del mes anterior al mes actual Hola...
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>
|