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 :

Controller PHP mySQL -> XML


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut Controller PHP mySQL -> XML (encore problème avec simpleXML)
    Bonjour

    J'ai besoin, pour utiliser les données d'une base mySQL, de passer ces-dernières en XML. La difficulté réside dans le fait que ces données doivent être mise e forme de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <liste>
    <groupe name="Operating System" id="15">
    	<pannel name="Ms Windows" id="16"/>
    	<groupe name="Unix" id="17">
    		<pannel name="SUN Solaris 9" id="18"/>
    		<pannel name="IBM AIX 5" id="19"/>
    		<pannel name="Redhat Linux 9" id="20"/>
    		<pannel name="Mandrake Linux 9.1" id="21"/>
    	</groupe>
    </groupe>
    </liste>
    J'ai, pour le moment construit ma base ainsi :


    J'aurais besoin d'aide pour créer cette fonction PHP. La base peut être modifiée. Avez vous une idée?
    Merci d'avance

    (je sais pas si je poste dans la bonne catégorie, si ce n'est pas le cas est-ce qu'un admin peut déplacer ce message?)

  2. #2
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 19
    Par défaut
    Je comprend pas bien où ce situe ton problème.

    Passer les données de MySQL à XML ou les afficher ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Mon principal problème c'est de créer la hiérarchie dans le XML depuis le mySQL ou la seule notion de hiérarchie c'est le champs belongsTo.
    Je sais créer un XML depuis PHP mais je n'arrive pas a insérer des données à l'intérieur d'un groupe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <groupe......>
    <pannel ..../> (mettre le pannel à l'intérieur du groupe)
    </groupe>

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Gealion Voir le message
    Je sais créer un XML depuis PHP mais je n'arrive pas a insérer des données à l'intérieur d'un groupe
    Il suffit pour cela d'extraire le noeud père et de lui ajouter un noeud fils.
    Ex. avec SimpleXML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    list($unix) = $xml->xpath('//groupe[@id=17]') ; // Récupère le noeud Unix
    $pannel = $unix->addChild('pannel') ; // Auquel on ajoute un nouveau fils
    $pannel->addAttribute('name', 'Ubuntu') ;
    $pannel->addAttribute('id', 123) ;
    http://fr.php.net/simplexml

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Exactement ce qu'il me fallait... Merci beaucoup

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Encore un petit soucis (voila mon code)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    		while ($panel = mysql_fetch_object ($resultat)) {
    			if( $panel->group == 't'){
    				$sxe = new SimpleXMLElement($xmlstr);
    				$groupe = $sxe->addChild('groupe');
    				$groupe->addAttribute('name',$panel->mname );
    				$groupe->addAttribute('id',$panel->idpanel );
    				echo $sxe->asXML();
    			}
    Avec ce code, j'obtiens bien un arbre XML. Le problème c'est que au lieu de repartir a chaque fois de la racine, il créé un enfant du node précédent. Une idée pour corriger mon code?

  7. #7
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Pas compris le pb. Illustre ton script avec le XML que tu as et celui que tu veux.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/01/2011, 15h57
  2. Developpeur Web (PHP/MySQL, Javascript, XML,etc..)
    Par romain_ci dans le forum Demandes
    Réponses: 0
    Dernier message: 25/01/2008, 14h48
  3. [MySQL] php + mysql to xml
    Par angeleweb dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 06/11/2007, 16h54

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