Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/11/2009, 10:27
raleandri
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 10 meses
Puntos: 1
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
  1. $i = 0;
  2. $hoy = date("Y-m-d H:i:s");
  3.  
  4.  
  5. if($canales = $canal->consultaCanales()){
  6.  
  7.     while ($i<count($canales)){
  8.         $canales[$i];
  9.         $id = $canales[$i]->getID();
  10.         $desc = $canales[$i]->getDescripcion();
  11.         $url = $canales[$i]->getURL();
  12.         $path_XSL = $canales[$i]->getPathXSL();
  13.         $path_XML = $canales[$i]->getPathXML();
  14.         $path_HTML = $canales[$i]->getPathHTML();
  15.         $intervalo = $canales[$i]->getIntervalo();
  16.         $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
  1. $canal->iniciaCanal($id,$desc,$url,$path_XSL,$path_XML,$path_HTML,$intervalo,$fecha);
  2.             $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
  1. <?php
  2. include_once 'claseCanal.php';
  3.  
  4.  
  5. $canal = new canal();
  6. $i = 0;
  7. $hoy = date("Y-m-d H:i:s");
  8.  
  9.  
  10. if($canales = $canal->consultaCanales()){
  11.  
  12.     while ($i<count($canales)){
  13.         $canales[$i];
  14.         $id = $canales[$i]->getID();
  15.         $desc = $canales[$i]->getDescripcion();
  16.         $url = $canales[$i]->getURL();
  17.         $path_XSL = $canales[$i]->getPathXSL();
  18.         $path_XML = $canales[$i]->getPathXML();
  19.         $path_HTML = $canales[$i]->getPathHTML();
  20.         $intervalo = $canales[$i]->getIntervalo();
  21.         $fecha = $canales[$i]->getFecha();
  22.  
  23.         //Calcula en minutos diferencia de tiempo entre la ultima actualizacion y la fecha actual
  24.         list($fechaAct, $horaAct) = explode(" ", $hoy);
  25.         list($yearAct, $mesAct, $dayAct) = explode("-", $fechaAct);
  26.         list($horaAct, $minAct, $secAct) = explode(":", $horaAct);
  27.         list($fechaAnt, $horaAnt) = explode(" ", $fecha);
  28.         list($yearAnt, $mesAnt, $dayAnt) = explode("-", $fechaAnt);
  29.         list($horaAnt, $minAnt, $secAnt) = explode(":", $horaAnt);
  30.         $sAct = mktime($horaAct, $minAct, $secAct, $mesAct, $dayAct, $yearAct);
  31.         $sAnt = mktime($horaAnt, $minAnt, $secAnt, $mesAnt, $dayAnt, $yearAnt);
  32.         $diffSeg = $sAct - $sAnt;
  33.         $diffMin = round($diffSeg / 60);
  34.         $diffHoras = $diffMin / 60;
  35.  
  36.         echo"$id<br>$fecha<br>$hoy<br>$diffMin<br>$path_XSL<br>";
  37.  
  38.  
  39.  
  40.         //Comprueba si debe actualizar
  41.         if($intervalo<$diffMin){
  42.  
  43.             // Si existe, carga el archivo XML
  44.  
  45.             if( file_exists( $path_XML ) ) {
  46.                 $xml = new DOMDocument('1.0', 'Windows-1251');
  47.                 $xml->load($path_XML);
  48.             } else {
  49.                 echo"No se encuentra el archivo XML para el canal ".$desc." <br>";
  50.             }
  51.  
  52.             // Si existe, carga el archivo XSL
  53.             if( file_exists( $path_XSL ) ) {
  54.                 $xsl = new DOMDocument;
  55.                 $xsl->load($path_XSL);
  56.             } else {
  57.                 echo"No se encuentra el archivo XSL para el canal ".$desc." <br>";
  58.             }
  59.  
  60.             $proc = new XSLTProcessor;
  61.             $proc->importStyleSheet($xsl);
  62.  
  63.             $contenido = $proc->transformToXML($xml);
  64.  
  65.             $archivo = $path_HTML;
  66.             $fp = fopen($archivo, "a");
  67.             $string = $contenido;
  68.             $write = fputs($fp, $string);
  69.             fclose($fp);
  70.  
  71.             $canal->iniciaCanal($id,$desc,$url,$path_XSL,$path_XML,$path_HTML,$intervalo,$fecha);
  72.             $canal->modificaCanal();
  73.                    
  74.  
  75.         }else{
  76.             echo"NO ES NECESARIO ACTUALIZAR EL CANAL - ".$desc." - <br><br>";
  77.         }
  78.  
  79.         $i++;
  80.     }
  81.  
  82. }else{
  83.     echo"ERROR AL CONECTAR CON LA BASE DE DATOS PARA SELECCIONAR LOS CANALES <br>";
  84. }
  85.  
  86.  
  87. ?>

Última edición por GatorV; 09/11/2009 a las 15:19