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 :

[DOM XML] Domdocument xml et tableau : comment faire un tri ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier Avatar de youtch
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Points : 90
    Points
    90
    Par défaut [DOM XML] Domdocument xml et tableau : comment faire un tri ?
    Hello,

    j'aimerai savoir comment on fait d'habitude pour trier le contenu d'un objet domxml ?
    Les 2 tests que j'ai fait ne donnent rien de bon : sort($mesitems) et multisort_array($mesitems) pensant que j'avait un tableau multidimensions la deuxieme aurait du marcher ? Je n'ai même pas de message d'erreur !
    A tout hasard j'ai essayé de selectionner une dimension [0] :
    Mais pas ok, voici l'erreur obtenue sur multisort_array($mesitems[0]) :

    Warning: array_multisort() [function.array-multisort]: Argument #1 is expected to be an array or a sort flag in E:\Mes documents\Apache www\Magic_Mobile\prod\recherche.php5 on line 71

    NB : EXTRAIT de CODE :
    $domxml = new DomDocument(); $domxml->load($chaine);
    $items = $domxml->getElementsByTagName('Product');

    ET un extrait de ma base xml :

    <ArrayOfProduct>
    +
    <Product Id="779794">

    <Localization>
    http://content.mkmb.net/p.ashx?id=779794&f=28&t=.mp3
    </Localization>
    <Caption>Don't Stop The Music</Caption>

    <CommandUrl>
    http://kifetonmobile.magikmobile.com...q5=779794&p=21
    </CommandUrl>
    <ProductType>Sonnerie poly</ProductType>
    <ProductTypeId>21</ProductTypeId>
    <Interpret>Rihanna</Interpret>
    </Product>

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Pourriez-vous fournir un extrait complet/valide de document XML ? Quel est le critère de tri ?

  3. #3
    Membre régulier Avatar de youtch
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Points : 90
    Points
    90
    Par défaut
    Voici aussi mon fichier XML (que j'ai un peu raccourci pour simplifier) :

    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
    <?xml version="1.0" encoding="utf-8"?>
    <ArrayOfProduct xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sonnerie.com">
      <Product Id="863455">
        <Localization>http://content.mkmb.net/p.ashx?id=863455&amp;f=28&amp;t=.mp3</Localization>
        <Caption>Disturbia</Caption>
        <CommandUrl>http://kifetonmobile.magikmobile.com/culture/fr-FR/popup-redirect.aspx?q5=863455&amp;p=21</CommandUrl>
        <ProductType>Sonnerie poly</ProductType>
        <ProductTypeId>21</ProductTypeId>
        <Interpret>Rihanna</Interpret>
      </Product>
      <Product Id="885647">
        <Localization>http://content.mkmb.net/p.ashx?id=885647&amp;f=28&amp;t=.mp3</Localization>
        <Caption>Right now (na na na)</Caption>
        <CommandUrl>http://kifetonmobile.magikmobile.com/culture/fr-FR/popup-redirect.aspx?q5=885647&amp;p=21</CommandUrl>
        <ProductType>Sonnerie poly</ProductType>
        <ProductTypeId>21</ProductTypeId>
        <Interpret>Akon</Interpret>
      </Product>
    </ArrayOfProduct>
    Pour le critère de tri, je souhaite trier mon objet DomXM en fonction de la colonne <Interpret> ... Merci de m'indiquer un moyen de réaliser cela, car j'ai revérifier et pas d'option de tri dans la doc PHP officielle .

  4. #4
    Membre régulier Avatar de youtch
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Points : 90
    Points
    90
    Par défaut
    Vu que personne n'a répondu, j'ai bossé le pb et j'ai trouvé comment faire : 2 tableaux, un qui récupère le champs critère de tri que je fait correspondre à l'identifiant des lignes de mon autre tableau contenant mes données issues de l'objet DomXML.
    Il ne reste plus qu'à trier le tableau nom, puis appeler la ligne correspondant dans le tableau de données... et hop, sans problème

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

Discussions similaires

  1. Constante tableau. Comment faire ?
    Par pconrad dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/03/2007, 20h24
  2. case tableau: comment faire des hauteurs plus petites que 23px
    Par cortex024 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 28/11/2006, 18h01
  3. Réponses: 1
    Dernier message: 03/09/2006, 19h53
  4. Faire apparaitre/disparaitre lignes tableau -Comment Faire ?
    Par mathieu7497 dans le forum Général Conception Web
    Réponses: 9
    Dernier message: 01/04/2006, 00h39

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