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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Fichier XML importer d'informations sur une autre base


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut [SimpleXML] Fichier XML importer d'informations sur une autre base
    Bonjour ,

    j'ai un petit soucis avec un fichier xml . j'ai une base déjà existante avec 3000 occurrences pour mon site internet .
    J'ai donc extrait un fichier xml de mon ancienne base de données , j'ai ensuite étudié les différences avec la nouvelle base où j'ai également extrait un fichier xml . je voudrais donc maintenant lire le fichier de l'ancienne base puis créer un nouveau fichier avec le résultat de la lecture que je pourrais ensuite importer dans ma nouvelle base .
    Deux problèmes ce posent à moi : les occurrences sont complètement différentes .. comment faire ?? pourriez vous m'aidez svp

    Pour lire le fichier de l'ancienne base j'ai pensé à : $xml=simplexml_load_file($ancienne_base) mais le problème et que je suis bloquée après car vu que les champs sont différents comment faire lorsque j'ai fait la lecture du fichier pour dire que voilà par exemple 'name' de l'ancienne base correspond à 'title'

    je vous met une partie de mes fichiers xml :
    l'ancienne base :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <pma:structure_schemas>
    <pma:database name="test" collation="utf8_general_ci" charset="utf8">
    <pma:table name="ancienne_base">
    CREATE TABLE `ancienneBase` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `name` varchar(200) NOT NULL DEFAULT '',
    `agent` int(11) NOT NULL DEFAULT '0',
    `address` varchar(200) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=203052 DEFAULT CHARSET=utf8;
    </pma:table>
    </pma:database>
    </pma:structure_schemas>

    la nouvelle base :

    Code xml : 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
    <pma:structure_schemas>
    <pma:database name="test2" collation="utf8_general_ci" charset="utf8">
    <pma:table name="nouvelle_annonces">
    CREATE TABLE `annonces` (
    `listbingo_ad_id` int(11) NOT NULL AUTO_INCREMENT,
    `globalad_id` varchar(255) DEFAULT NULL,
    `title` varchar(255) NOT NULL,
    `slug` varchar(255) DEFAULT NULL,
    `description` text NOT NULL,
    `address1` text,
    PRIMARY KEY (`listbingo_ad_id`),
    KEY `title` (`title`),
    KEY `slug` (`slug`),
    ) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
    </pma:table>
    </pma:database>
    </pma:structure_schemas>

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Deux problèmes ce posent à moi : les occurrences sont complètement différentes .. comment faire ?? pourriez vous m'aidez svp
    Comment faire quoi ? Quel est le problème ?

    les champs sont différents comment faire lorsque j'ai fait la lecture du fichier pour dire que voilà par exemple 'name' de l'ancienne base correspond à 'title'
    Il s'agit des noms de champ de la table SQL. Dis-nous ce que tu comptes faire au final, peut-être peux-tu éviter XML.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    je t'expliquer . j'ai 2 bases sql : une est mon ancienne et l'autre la nouvelle . dans l'ancienne j'ai 3000 occurrences et je voudrais transférer mes 3000 occurences à ma nouvelle base . sauf que je n'ai pas les mêmes attributs : j'ai plus d'attribut dans la nouvelle base que dans l'ancienne . et par exemple l'identifiant de l'ancienne base doit se placer dans l'identifiant dans la nouvelle base .
    tu comprend mieux ?

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Oui et je ne vois pas l'intérêt de passer par un XML. Pour cette opération ponctuelle fais un export SQL de l'ancienne BdD vers la nouvelle, ensuite modifie les noms des champs.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    j'utilise listbingo qui est un composant je pense pas que ce soit possible ?.
    je veux faire du codage sans avoir a modifié les champs , ce que je pensait faire c'était d'exporter mon fichier xml de l'ancienne base et de crée un nouveau fichier xml pour la nouvelle base et dans se fichier xml modifié les champs et ensuite faire un script en php qui lit mes infos de mon ancien fichier et qui crée un nouveau fichier non ?

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    j'utilise listbingo
    Je ne connaîs pas.

    je pense pas que ce soit possible ?.
    T'as bien accès à ta BdD non ? phpMyAdmin ? Si oui alors ne t'embête pas avec tes XML et fais comme dit plus haut.

    je veux faire du codage sans avoir a modifié les champs
    Pourquoi ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre du Club
    Femme Profil pro
    Apprentie Développeuse
    Inscrit en
    Février 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Apprentie Développeuse
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 106
    Points : 44
    Points
    44
    Par défaut
    oui oui je travail sur PhPMyAdmin !
    comment je peux faire pour modifier les champs ? J'ai juste a faire un update nom-table set ancienChamp = nouveauChamp ?

    et je peux importer tous les champs au formats sql ?

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 098
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 098
    Points : 8 207
    Points
    8 207
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par juniordev Voir le message
    oui oui je travail sur PhPMyAdmin !
    comment je peux faire pour modifier les champs ? J'ai juste a faire un update nom-table set ancienChamp = nouveauChamp ?
    Non pas besoin d'UPDATE, va dans l'onglet "structure" puis action "structure".

    et je peux importer tous les champs au formats sql ?
    Tu peux modifier/exporter/importer à ta guise.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. acces a des informations sur une autre feuille
    Par moulery dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/06/2012, 18h01
  2. Réponses: 6
    Dernier message: 18/09/2009, 09h35
  3. Réponses: 5
    Dernier message: 12/06/2006, 10h27
  4. [trigger] opérant sur une autre base ?
    Par Den's dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/05/2006, 20h16
  5. [Conception] Rerchercher des informations sur une autre table
    Par tilou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/05/2006, 19h35

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