IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Importer des fichiers XML dans une base de données (Easyphp)


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 14
    Points
    14
    Par défaut Importer des fichiers XML dans une base de données (Easyphp)
    Bonjour,

    Je recherche depuis quelques jours une méthode automatique (via un script) pour importer des fichiers xml dans une base de données Easyphp (phpMyadmin).

    Si vous pouvez m'orienter sur des sites qui restent accessible pour des débutants ça serait cool,

    merci

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Bonjour,

    Regardez du côté de simpleXML à partir de php 5.0

  3. #3
    Nouveau membre du Club
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mai 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Gestionnaire de données

    Informations forums :
    Inscription : Mai 2011
    Messages : 44
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Je sais que le dernier post date mais je rencontre le même problème actuellement et je ne sais pas comme l'expliquer :/

    Cette erreur intervient pour la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $edp-article=simplexml_load_file('C:/Users/LilyNamour/Documents/M2 DEFI/XML/Projet/alr/2007/01/alr001-07.xml');
    Ce que je cherche à faire c'est de parcourir un fichier xml, d'en retirer les informations contenues dans les balises, et d'inscrire ces info dans une table de base de données.

    Je travaille sous EasyPHP

    S'il n'est pas trop tard :$

    Merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 14
    Points
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $edp-article_xml = simplexml_load_file('C:/Users/etudiant/alr/2007/02/alr007-07.xml');
    j'ai voulu utiliser la commande simplexml_load_file mais lorsque j'execute mon script dans le serveur local "easyphp" il me dit qu'il ne devrait pas y avoir de "=".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected '=' in C:\Program Files\EasyPHP-5.3.8.0\www\insertion.php on line 18
    Je ne comprend pas pourquoi

    voici mon code entier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php 
        $serveurBD = "localhost";
        $nomUtilisateur = "root";
        $motDePasse = "";
        $baseDeDonnees = "projet";
     
        $idConnexion = mysql_connect($serveurBD,
                                     $nomUtilisateur,
                                     $motDePasse);
     
        if ($idConnexion !== FALSE) echo "Connexion au serveur reussie<br/>";
        else echo "Echec de connexion au serveur<br/>";
     
        $connexionBase = mysql_select_db($baseDeDonnees);
        if ($connexionBase) echo "Connexion a la base reussie";
        else echo "Echec de connexion a la base"; 
     
    $edp-article_xml = simplexml_load_file('C:/Users/etudiant/alr/2007/02/alr007-07.xml');
    foreach ($edp-article_xml ->issu-id as $issu-id) {
        print "Volume: {$issu-id->volume} <br />\n";
        print "issue: {$issu-id->issue} <hr />\n";
    	print "year: {$issu-id->year} <br />\n";
    	print "month-number: {$issu-id->month-number} <br />\n";
    	print "issue-title: {$issu-id->issue-title} <br />\n";
        mysql_query("INSERT INTO issu SET volume='".($issu-id->volume)."' AND issue='".($issu-id->issue)."' AND year='".($issu-id->year)."' AND month-number='".($issu-id->month-number)."' AND issue-title='".($issu-id->issue-title)  or die("Erreur MySQL : ".mysql_error());
    }
     
     
        mysql_close();
    ?>

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    pas de tiret dans les variables

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut


    Le "-", c'est un opérateur de soustraction ! Il ne doit pas apparaitre dans le nom d'une variable...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    hakkio et Boujoute, on est pas la pour faire vos devoirs, vous feriez mieux de travailler ensemble plutôt que de poster les mêmes choses tout le temps ...

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par hakkio Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $edp-article=simplexml_load_file('C:/Users/LilyNamour/Documents/M2 DEFI/XML/Projet/alr/2007/01/alr001-07.xml');
    Citation Envoyé par Boujoute Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $edp-article_xml = simplexml_load_file('C:/Users/etudiant/alr/2007/02/alr007-07.xml');
    Effectivement, là, vu les 2 codes, z'avez le même problème ET le même travail à faire

    Pour compléter nos amis :
    Citation Envoyé par php.net
    Un nom de variable valide doit commencer par une lettre ou un souligné (_), suivi de lettres, chiffres ou soulignés.
    A noter que cette règle s'applique aussi aux attributs d'une classe.
    Donc si vos fichiers xml contiennent des balises dont les noms contiennent des tirets, il va falloir passer par autre chose que SimpleXML, ou en tout cas trouver comment accéder aux enfants sans passer par $parent->child...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 42
    Points : 14
    Points
    14
    Par défaut
    Oui c'est un projet à faire mais on ne demande en aucun cas que vous le fassiez. On ne vous a pas envoyé la copie du sujet. Dans mon 1er post d'ailleurs je demande juste des conseils pour m'orienter sur des sites.

    Et pour ce qui est du code mal écrit, on ne comprenais tout simplement pas d'où venait l'erreur. D'ailleurs on a trouvé le problème après quelques essais avant même de revoir les réponses sur la discussion.

    En espérant plus de compréhension de certains

Discussions similaires

  1. stocker un fichier xml dans une base de données en sql
    Par yidboulmane dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/09/2008, 09h55
  2. [SQL] Importer un fichier .sql dans une base de données avec PHP
    Par budiste dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2006, 14h15
  3. Réponses: 1
    Dernier message: 09/05/2006, 12h00
  4. [Conception] Stocker des fichiers multimédia dans une base de données
    Par haifa84 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/03/2006, 17h47
  5. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 22h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo