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ù