Oka disculpas entonces por hacerlos operder el tiempo aqui va lo que tengo:
aqui traigo los datos de la tabla canales: y los asigno a cada variable, entre ellas los path que luego al querer actualizar el objeto no los guarda con las barras.
Código php:
Ver original$i = 0;
$hoy = date("Y-m-d H:i:s");
if($canales = $canal->consultaCanales()){
while ($i<count($canales)){ $canales[$i];
$id = $canales[$i]->getID();
$desc = $canales[$i]->getDescripcion();
$url = $canales[$i]->getURL();
$path_XSL = $canales[$i]->getPathXSL();
$path_XML = $canales[$i]->getPathXML();
$path_HTML = $canales[$i]->getPathHTML();
$intervalo = $canales[$i]->getIntervalo();
$fecha = $canales[$i]->getFecha();
ahora vuelvo a inicar el objeto canal, y llamo al metodo modificaCanal, este metodo lo que hacees un UPDATE en la base con los datos nuevos
Código php:
Ver original$canal->iniciaCanal($id,$desc,$url,$path_XSL,$path_XML,$path_HTML,$intervalo,$fecha);
$canal->modificaCanal();
y eso seria todo
La verdad no se que puede ser, nunaca me habia pasado.
espero se entienda el problema
saludos y gracias
ACA VA EL CODIGO COMPLETO DEL SCRIPT POR LAS DUDAS:
Código php:
Ver original<?php
include_once 'claseCanal.php';
$canal = new canal();
$i = 0;
$hoy = date("Y-m-d H:i:s");
if($canales = $canal->consultaCanales()){
while ($i<count($canales)){ $canales[$i];
$id = $canales[$i]->getID();
$desc = $canales[$i]->getDescripcion();
$url = $canales[$i]->getURL();
$path_XSL = $canales[$i]->getPathXSL();
$path_XML = $canales[$i]->getPathXML();
$path_HTML = $canales[$i]->getPathHTML();
$intervalo = $canales[$i]->getIntervalo();
$fecha = $canales[$i]->getFecha();
//Calcula en minutos diferencia de tiempo entre la ultima actualizacion y la fecha actual
list($yearAct, $mesAct, $dayAct) = explode("-", $fechaAct); list($horaAct, $minAct, $secAct) = explode(":", $horaAct); list($yearAnt, $mesAnt, $dayAnt) = explode("-", $fechaAnt); list($horaAnt, $minAnt, $secAnt) = explode(":", $horaAnt); $sAct = mktime($horaAct, $minAct, $secAct, $mesAct, $dayAct, $yearAct); $sAnt = mktime($horaAnt, $minAnt, $secAnt, $mesAnt, $dayAnt, $yearAnt); $diffSeg = $sAct - $sAnt;
$diffMin = round($diffSeg / 60); $diffHoras = $diffMin / 60;
echo"$id<br>$fecha<br>$hoy<br>$diffMin<br>$path_XSL<br>";
//Comprueba si debe actualizar
if($intervalo<$diffMin){
// Si existe, carga el archivo XML
$xml = new DOMDocument('1.0', 'Windows-1251');
$xml->load($path_XML);
} else {
echo"No se encuentra el archivo XML para el canal ".$desc." <br>";
}
// Si existe, carga el archivo XSL
$xsl = new DOMDocument;
$xsl->load($path_XSL);
} else {
echo"No se encuentra el archivo XSL para el canal ".$desc." <br>";
}
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
$contenido = $proc->transformToXML($xml);
$archivo = $path_HTML;
$fp = fopen($archivo, "a"); $string = $contenido;
$write = fputs($fp, $string);
$canal->iniciaCanal($id,$desc,$url,$path_XSL,$path_XML,$path_HTML,$intervalo,$fecha);
$canal->modificaCanal();
}else{
echo"NO ES NECESARIO ACTUALIZAR EL CANAL - ".$desc." - <br><br>";
}
$i++;
}
}else{
echo"ERROR AL CONECTAR CON LA BASE DE DATOS PARA SELECCIONAR LOS CANALES <br>";
}
?>