Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/05/2012, 09:50
juniorhernandezg
 
Fecha de Ingreso: enero-2012
Mensajes: 109
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Guardar constantemente XML a MySQL

Este es el codigo que podría utilizar para subir el XML a MySQL.

Pero necesito que sea cada 20 minutos

Código:
/***************************************************************
 * Conection Params Page - importxml.php
 * Author: J. Manuel Navarro ( http://www.manuelnavarro.com )
 *
 * Script ejemplo de importación de XML a mySql con PHP 5
 ***************************************************************/

// Variable con el nombre del fichero a importar
$xml_file = 'libros.xml';

if (file_exists($xml_file)) {
    $xml = simplexml_load_file($xml_file);
} else {
    exit('Error al intentar abrir el fichero '.$xml_file);
}

// Todo bien asi que abrimos BD para importar
require 'config.php';    

/* Recorremos el XML */
$count=0;
foreach ($xml->libro as $libro) {  
    // Inserta el libro en la tabla 
   $qry = "INSERT INTO libros ".
      "(codigo, titulo, editorial, autor, descripcion,precio)".
      " VALUES ('$libro->ref', ".
      "'$libro->titulo', ".
      "'$libro->editorial', ".
      "'$libro->autor', ".
      "'$libro->desc', ".
      $libro->precio.")";

   // Ahora ejecutamos el INSERT en la BD         
   $result = mysql_query($qry) or die(mysql_error());

   // Y necesitamos recuperar el ultimo ID para relacionar sus imagenes
   $libro_id = mysql_insert_id ();   

    // Y ahora sus imágenes (en este caso tiene 3)
   for ($i=1;$i<=3;$i++) {
     $img_url = $libro->images->image[$i]->url;           
     $img_des = $libro->images->image[$i]->titulo;
       $qry = "INSERT INTO img_libros (libro_id, url, descripcion) ".
           "VALUES ($libro_id, '$img_url', '$img_des')";          
       $result = mysql_query($qry) or die(mysql_error());       
   }  

   // Incrementamos contado para ver cuantos libros se importan.
   $count++;
}

echo "<br/>";
echo "-------------------------------------------<br/>";
echo "Total de libros importados: $count properties<br/>";
echo "-------------------------------------------<br/>";

?>