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

Langage PHP Discussion :

fusionner un tableau avec objet xml


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut fusionner un tableau avec objet xml
    Bonjour, j'ai une question sur comment m'y prendre pour réaliser une fusion correct des données.
    Je charge des données venant de mysql via PDO et retourne sous forme d'un tableau associatif les données.
    jusque la c'est vraiment très clair (même bourrer on y arrive )
    Mais j'ai également des données venant d'un fichier xml, j'utilise alors simplexml
    Des données venant du fichier xml sont identique à la base de données (un identifiant pour être exact).
    Je souhaite m'en servir pour identifier exactement l'élément dont j'ai besoin et retourner les données seulement je ne vois pas trop comment m'y prendre.
    En gros :
    Données venant de mysql:
    • idmachin
    • idxml
    • nom
    • prenom

    Données venant du xml :
    • boxnumber (identique à idxml dans la DB)
    • callstatus

    Ma question comment fusionner les deux tableaux pour que je puisse ajouter le callstatus à la bonne personne.
    Voici mon tableau mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Array ( 
    [0] => Array ( [idmachin] => 1 [idxml] => 1201 [pseudo] => test ) 
    [1] => Array ( [idmachin] => 2 [idxml] => 1800 [pseudo] => moi) 
    )
    Mon fichier xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <available>
      <personne>
          <boxnumber>1201</boxnumber>
          <callstatus>0</callstatus>
      </personne>
      <personne>
          <boxnumber>1800</boxnumber>
          <callstatus>1</callstatus>
      </personne>
    </available>
    Une idée sur le sujet je sèche, merci
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Il y a surement moyen de faire plus simple :

    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
     
    <?php
     
    function parcourXml($fichier, $valeur) {
            $xml = simplexml_load_file($fichier);
            foreach ($xml->personne as $info) {
     
                if ( $info->boxnumber == $valeur) {
                    return $info->callstatus;
                }
            }
            return false;
    }
     
     
    $tab = Array ( 
    0 => Array ( "idmachin" => 1, "idxml" => 1201 ,"pseudo" => "test" ), 
    1 => Array ( "idmachin" => 2, "idxml" => 1800, "pseudo" => "moi") 
    );
     
    $count = count($tab);
     
    for($i;$i<$count;$i++){
     
        $tab[$i]['callstatus'] = parcourXml('chemin/vers/fichier/xml',$tab[$i]['idxml']);
     
    }
    MaitrePylos

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/11/2013, 17h35
  2. Problème avec un tableau d'objet
    Par tyrant dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 18/11/2006, 19h45
  3. Alimenter un tableau avec une source XML
    Par krapno dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 18/10/2006, 12h23
  4. pb d'invoke de methode avec un tableau d'objets en parametre
    Par sebastien2222 dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 27/09/2006, 10h33
  5. un problème avec un tableau d'objet, erreur bete ?
    Par Heero_2040 dans le forum C++
    Réponses: 12
    Dernier message: 13/07/2006, 13h20

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