Bonjour,
Je bloque sur la récupération de mon fichier XML dans ma base de données.
mon soucis est que j'ai une etiquette de mon fichier XML qui se repete plusieurs fois donc je fait une nouvelle boucle afin de pouvoir lister ces données mais je ne vois pas comment je peut les récupérer en base de donnees.
Ce que je fais
j'importe mon fichier XML, via ce fichier PHP
<?php
include '../../lib/includes.php';
if( isset($_FILES['import'])){
$filename= ($_FILES['import']['name']);
//$filename = WEBROOT . "/imports/".basename($_FILES['import']['name']) ;
// Place le fichier, sous le nom que tu viens de lui donner, dans le répertoire approprié
move_uploaded_file( $_FILES['import']['tmp_name'], $filename);
$xml = new SimpleXMLElement($filename, Null, True);
$nodes = $xml->xpath('//racineFichier/root');
foreach($nodes as $node) {
$client_nom_prenom = addslashes($node->client->nomPrenom);
$facture_num_contrat = $node->facture->numero;
$facture_num_sequentiel = $node->facture->numeroFactureSequentielle;
//Selection des éléments divers Complementaire
$diversComplementaires = $node->facture->elementsFacture->diversComplementaire;
foreach($diversComplementaires as $diversComplementaire){
$codeDiversCompl = $diversComplementaire->codeDiversCompl;
$libelleDiversCompl = $diversComplementaire->libelDiversCompl;
$quantiteDiversCompl = $diversComplementaire->qtDiversCompl;
$puDiversCompl = $diversComplementaire->puDiversCompl;
$mtBrutDiversCompl = $diversComplementaire->mtBrutDiversCompl;
$mtDiversCompl = $diversComplementaire->mtDiversCompl;
$codeTvaDiversCompl = $diversComplementaire->codeTvaDiversCompl;
}
var_dump($facture_num_sequentiel);
var_dump($num_contrat);
var_dump($client_nom_prenom);
var_dump($codeDiversCompl);
die();
$select = $db->query("SELECT COUNT(*) AS verif_sequentiel FROM invoices2 WHERE num_sequentiel ='". $facture_num_sequentiel."'");
if( $select->fetch()->verif_sequentiel < 1 ){
$import = $db->query("
INSERT INTO invoices2 (
created,
num_sequentiel,
client_nom_prenom,
num_contrat
)
VALUES (
NOW(),
'". $facture_num_sequentiel ."',
'". $client_nom_prenom ."',
'". $facture_num_contrat ."'
)
");
}
}
unlink($filename);
header('Location:importxml.php');
die();
}
Ce que je veux
Je cherche donc a savoir comment je peux faire pour importer en base de données cette partie de mon XML via ma requete d'import?
<diversComplementaire><codeDiversCompl>FSF</codeDiversCompl><libelDiversCompl>SERVICE POUR CARBURANT</libelDiversCompl><qtDiversCompl>1.00</qtDiversCompl><puDiversCompl>10.82</puDiversCompl><mtBrutDiversCompl>10.82</mtBrutDiversCompl><mtDiversCompl>10.82</mtDiversCompl><codeTvaDiversCompl>1</codeTvaDiversCompl></diversComplementaire><diversComplementaire><codeDiversCompl>DAF</codeDiversCompl><libelDiversCompl>FRS GESTION DOMMAGES</libelDiversCompl><qtDiversCompl>1.00</qtDiversCompl><puDiversCompl>54.17</puDiversCompl><mtBrutDiversCompl>54.17</mtBrutDiversCompl><mtDiversCompl>54.17</mtDiversCompl><codeTvaDiversCompl>1</codeTvaDiversCompl></diversComplementaire>
merci par avance de votre aide.
Gilles