Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    scrittura dati da mysql a xml

    Ciao a tutti
    Vengo subito al dunque.
    sto cercando di prendere dei record da un database mysql e scriverli su un file xml ed in parte ci sono riuscito con il seguente script:

    Codice PHP:
    $collana = $_POST['collana'];
    mysql_select_db($database_connessione, $connessione);
    $query_libriPNL = "SELECT * FROM libri, collane WHERE libri.collana = '".$collana."' AND libri.collana = collane.idCollana";
    $libriPNL = mysql_query($query_libriPNL, $connessione) or die(mysql_error());
    $row_libriPNL = mysql_fetch_assoc($libriPNL);
    $totalRows_libriPNL = mysql_num_rows($libriPNL);
    $Return="<?xml version=".'"1.0"'." encoding=".'"ISO-8859-1"?>'."\n"."<libri>\n";

    while(
    $row_libriPNL = mysql_fetch_assoc($libriPNL)) 
        { 
    $Return.="<libro>\n<collana>".$row_libriPNL['collana']."</collana>\n<copertina>".$row_libriPNL['copertina']."</copertina>\n<titolo>".$row_libriPNL['titolo']."</titolo>\n<sottotitolo>".$row_libriPNL['sottotitolo']."</sottotitolo>\n<autore>".$row_libriPNL['autore']."</autore>\n<prezzo>".$row_libriPNL['prezzo']."</prezzo>\n</libro>\n";  
        } 
        
    $Return.="</libri>";
        
    $Return=str_replace("&Egrave;","&#200;", $Return);
        
    $Return=str_replace("&egrave;","è"$Return);
        
    $Return=str_replace("&acute;","é"$Return);
        
    $Return=str_replace("&Agrave;","À"$Return);
        
    $Return=str_replace("&agrave;","à"$Return);
        
    $Return=str_replace("&Ugrave;","Ù"$Return);
        
    $Return=str_replace("&igrave;","ì"$Return);
        
    $Return=str_replace("&Igrave;","Ì"$Return);
        
    $Return=str_replace("&Ograve;","Ò"$Return);
        
    $Return=str_replace("&ograve;","ò"$Return);
        
    $Return=str_replace("&rsquo;","'"$Return);
        
    $Return=str_replace("&quot;","""$Return);
        
    $Return=str_replace("&trade;","®"$Return);
        echo(
    $Return);

        

    if(isset(
    $Return)&&$collana==1){ 
    $fp fopen ("libriPNL.xml""w");
    if(
    fwrite($fp,$Return)){
    echo 
    "&eseguito=true";
    }
    fclose($fp);
    }
    il problema, però, è il seguente....
    sul file xml vengono scritti tutti i record TRANNE IL PRIMO RECORD DELLA LISTA...
    dove sbaglio?
    grazie per ogni aiuto
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  2. #2
    a occhio è croce in questo script mi pare che manchi il ciclo for

  3. #3
    mi sa che è ceffata la prima riga di $return che definisce l'xml usato:

    Codice PHP:
    $collana = $_POST['collana'];
    mysql_select_db($database_connessione, $connessione);
    $query_libriPNL = "SELECT * FROM libri, collane WHERE libri.collana = '".$collana."' AND libri.collana = collane.idCollana";
    $libriPNL = mysql_query($query_libriPNL, $connessione) or die(mysql_error());
    $row_libriPNL = mysql_fetch_assoc($libriPNL);
    $totalRows_libriPNL = mysql_num_rows($libriPNL);
    $Return="<?xml version=\"1\.0\" encoding=\"ISO-8859-1\"?>\n<libri>\n";

    while(
    $row_libriPNL mysql_fetch_assoc($libriPNL))
        {
    $Return.="<libro>n<collana>".$row_libriPNL['collana']."</collana>n<copertina>".$row_libriPNL['copertina']."</copertina>n<titolo>".$row_libriPNL['titolo']."</titolo>n<sottotitolo>".$row_libriPNL['sottotitolo']."</sottotitolo>n<autore>".$row_libriPNL['autore']."</autore>n<prezzo>".$row_libriPNL['prezzo']."</prezzo>n</libro>n";  
        }
        
    $Return.="</libri>";
        
    $Return=str_replace("&Egrave;","È"$Return);
        
    $Return=str_replace("&egrave;","è"$Return);
        
    $Return=str_replace("&acute;","é"$Return);
        
    $Return=str_replace("&Agrave;","À"$Return);
        
    $Return=str_replace("&agrave;","à"$Return);
        
    $Return=str_replace("&Ugrave;","Ù"$Return);
        
    $Return=str_replace("&igrave;","ì"$Return);
        
    $Return=str_replace("&Igrave;","Ì"$Return);
        
    $Return=str_replace("&Ograve;","Ò"$Return);
        
    $Return=str_replace("&ograve;","ò"$Return);
        
    $Return=str_replace("&rsquo;","'"$Return);
        
    $Return=str_replace("&quot;","""$Return);
        
    $Return=str_replace("&trade;","®"$Return);
        echo(
    $Return);

        

    if(isset(
    $Return)&&$collana==1){
    $fp fopen ("libriPNL.xml""w");
    if(
    fwrite($fp,$Return)){
    echo 
    "&eseguito=true";
    }
    fclose($fp);
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.