• User Attivo

    inserire parser xml in un database

    Ciao a tutti,
    ho un file xml da parsare. Fin qui tutto ok, vorrei pero' capire se i dati invece di leggerli direttamente online posso inserirli in un database, oppure riscriverli direttamente su un xml in locale. Con la seconda soluzione non riesco a prendere i dati letti, la prima soluzione , non sparei come poter inserire i dati direttamente nel database. Sapete darmi una mano ?
    Questo è il codice per parsare xml :
    [PHP]
    $leggere="http://xxx.xml";

    $xml = simplexml_load_file($leggere);
    
    $total_news = count($xml->channel->item);
    

    //ciclo per estrarre solo i primi 5 dati...
    for ($i=0;$i<5;$i++) {
    $item = $xml->channel->item*;

    $titolo_newsic = $item->title;
    $immagine_newsic = $item->image;
    $pre_newsic = $item->description;
    
    $pre_newsic = str_replace('\n\n', '', $pre_newsic);
    $pre_newsic = str_replace('\n', '', $pre_newsic);
    $pre_newsic = trim($pre_newsic);
    

    echo '';

    }
    [/PHP]

    Non riesco a scriverli in un documento di testo, perchè non riesco a interpretare la variabile $xml e scriverla... con un fwrite...


  • User Attivo

    Per inserirlo in database basta eseguire una query ad ogni ciclo e quindi basta inserire
    [PHP]

    $inserisci_news= "insert into news_database (titolo, immagine, descrizione) values ('$titolo_news', '$immagine_news','$pre_news')";
    $inserisci = mysql_query ($inserisci_news, $con) or die ("inserimento non riuscito");[/PHP]

    Il problema è che questo lettore è nella homepage del mio sito e ogni utente farebbe la query, è possibile in qualche modo impedire che la query venga effettuata ogni volta ?
    Se riuscivo a riscriverlo in un file xml potevo far controllare l'ultima ora di modifica con la funzione filemtime ma nel database ?

    A me l'unica soluzione possibile che viene in mente è inserire la data e ora nella query in modo che potrei verificarla nel momento in cui uno richiama la pagina, ma essendo un flusso xml che si aggiorna come faccio anche a controllare se non ci sono nuovi dati ?

    Grazie!