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] Combox en php (5.2) depuis requete xpath sur xml


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 30
    Points : 18
    Points
    18
    Par défaut [SimpleXML] Combox en php (5.2) depuis requete xpath sur xml
    Bonjour à tous,

    Je teste, creuse, consulte et finalement tourne en rond...

    J'ai un fichier xml dont la structure est la suivante :

    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
    18
    19
    20
    21
    22
    23
    24
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    	<Row>
    		<departement>Centre Est</departement>
    		<structure>Centre administratif</structure>
    		<adresse>xxxxxxxxxxxx</adresse>
    		<codepostal>xxxxxxxxxxxx</codepostal>
    		<ville>xxxxxxxxxxxx</ville>
    		<tel>0 820 xxxxxxxxxxxx 214</tel>
    		<mobile>+33 (0)x xx xx xx xx </mobile>
    		<email>xxxxxxxxxxxx</email>
    	</Row>
    	<Row>
    		<departement>Centre Estt</departement>
    		<structure>Centre de Formation </structure>
    		<adresse>xxxxxxxxxxxx</adresse>
    		<adresse2>xxxxxxxxxxxx</adresse2>
    		<codepostal>xxxxxxxxxxxx</codepostal>
    		<ville>xxxxxxxxxxxx</ville>
    		<tel>xxxxxxxxxxxx</tel>
    		<fax>xxxxxxxxxxxx</fax>
    		<mobile>+33 (0)x xx xx xx xx </mobile>
    		<email>xxxxxxxxxxxx</email>
    	</Row>

    Il est bien plus long mais structuré de la même façon.

    Je souhaite créer une combobox alimentée par un script php qui me permette de sélectionner le nœud xml "structure" (ou son id) afin d'afficher les autres nœuds lui correspondant...
    Je n'arriva pas à sortir de l'objet simplexml pour récupérer un tableau indexé exploitable et l'insérer dans la combo...
    Ci dessous le code en cours :

    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
    <?php
    //--------------------------------------- Recup page précédente
    if(isset($_GET["depart"])){ $depart = $_GET["depart"];} else { $depart = 'Centre Est';}
    //--------------------------------------- Choix du fichier
    if(isset($fichier)){ $fichier = $fichier;} else { $fichier = ('bdd/agences.xml');}
    if (!$doc_xml = simplexml_load_file($fichier)){
    	die('"Erreur de chargement du fichier');
    }
    else{
    //--------
    <td height="10" align="right" valign="middle">
    <select name="Liste_agences" onChange="getAgence(this.value,'<? echo $structure; ?>','<? echo $id_d; ?>')">
    	<?Php
    	$liste_agences = $doc_xml->xpath("/Root/Row[departement='$depart']");
    	foreach ($liste_agences as $agence){
    		$tab_selection_agence = $agence->structure;
    		$structure = (string) $agence->value;
    	?>
    <option <?Php echo $sel; ?> value="<?Php echo $id_d; ?>"><?Php echo $structure; ?></option>
    	<?Php
    	}
    	?>
    </select></td>
    Toute piste de solution de votre part sera la bienvenue.
    Je vous en remercie par avance !
    Cordialement,

  2. #2
    Membre à l'essai
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 30
    Points : 18
    Points
    18
    Par défaut
    Re bonjour,

    J'ai finalement trouvé une solution, je la poste, autant que le temps passé soit partagé !
    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
    <select name="Liste_agences" onChange="getAgence(this.value,'<? echo $depart; ?>','<? echo $tab_selection_agence; ?>','<? echo $doc; ?>')">
                            <?Php
    						$xml = simplexml_load_file("bdd/agences.xml");
    						$agences = $xml->xpath("/Root/Row[departement='$depart']");
    						$total = count($agences);
    						//echo $total;
    						for ($i = 0; $i < $total; $i++){
            					$result = $agences[$i];
    							$tab_selection_agence = utf8_decode($agences[$i]->structure);
    						?>
                        <option <?php echo $selected; ?> value="<?php echo $tab_selection_agence; ?>"><?php echo $tab_selection_agence; ?></option>
                           	<?Php
    						}
    						?>
                        </select>
    Cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. écrire une requete xpath sur Birt
    Par simplyc dans le forum BIRT
    Réponses: 0
    Dernier message: 16/05/2014, 16h32
  2. [XPATH 1.0] requete xpath sur paramètre indéterminé
    Par L00kMyEyes dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 12/08/2011, 10h55
  3. requete ajax sur un serveur web en java depuis php
    Par enzostar dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 29/03/2010, 13h59
  4. [c#][xml] requete xpath sur document xml avec espace de noms
    Par fab56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/02/2009, 11h56
  5. Requete XPath: neoud XML et string
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/06/2003, 13h02

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