Webmaster Hub: Importer produit XML dans ma BDD via PHP - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Importer produit XML dans ma BDD via PHP Noter : -----

#1 L'utilisateur est hors-ligne   D_Phantom 

  • Groupe : Membre
  • Messages : 1
  • Inscrit(e) : 30-décembre 08

Posté 30 décembre 2008 - 04:08

Bonjour,

J'ai l'habitude de parser des petit fichier en xml mais là j'ai besoin d'importer un gros fichier. J'ai découvert cette methode qui permet d'afficher facilement mais je ne parviens pas a inserer les données dans la base des données. Merci de votre aide si vous pouvez m'aider.

Mon objectif c'est d'arriver a faire executer cette commande pour chaque produit

$query="INSERT INTO `table_livres` ( `id_livre` , `nom_livre` , `description`) VALUES ('$id','$titre','$description')";
$result = mysql_query($query);




Mon problème, je ne sais pas où le placer dans le script ici en dessous qui affiche correctement les données.


Structure du fichier XML à importer

<item>
	<id>1</id>
	<titre>titre du livre numéro 1</titre>
	<description>Ici la description résumé du livre titre numero 1</description>
</item>




Mon script php pour recuperer les données XML.

<?php

$file="http://www.site-externe.com/mon_fichier.xml";
 

function startElement($parser, $name, $attribs) {

    global $titre, $id, $description;
	
    if ('titre' == strtolower($name)) {$titre = true;}
    if ('id' == strtolower($name)) {$id = true;}
    if ('description' == strtolower($name)) {$description = true;}
}
 
 
function endElement($parser, $name) {

    global $titre,$id,$description;
	
    if ($id) {echo "<p>$id"; $id = false;}
    if ($titre) {echo "$titre<br>"; $titre = false;}
    if ($description) {echo "$description</p>"; $description = false;}	
}
 
 
function characterData($parser, $data) {

    global $titre,$id,$description;
	
    if ($titre) {$titre = $data;}
    if ($id) {$id = $data;}
    if ($description) {$description = $data;}
	
	
}
 
 
 
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
 
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
 
while ($data = fread($fp, 4096)) {
     if (!xml_parse($xml_parser, $data, feof($fp))) {
         die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));

    }

}
 
xml_parser_free($xml_parser);
 
 echo $texte1;
  echo '. ';
 echo $texte2;
?>



Voila j'espere que c'est claire, j'espere que j'obtiendrai de l'aide ici.

Merci a vous !

PS: Si quelqu'un a un script tout fait je suis preneur s'il arrive a appliquer ma structure dessus. Cette remarque c'est juste au cas où ;)
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)