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] [DOM] Ajouter un attribut [Débutant(e)]


Sujet :

Bibliothèques et frameworks PHP

  1. #41
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Donc $listconc contient un DomNodeList.
    Donc je t'ai donné le code pour récupérer les quatre premiers DomElement "coucour" (ici, en remplaçant $liste par $listconc - sauf si j'ai fait une erreur dans ce code).
    Donc tu devrais arriver à modifier le code pour récupérer les quatre derniers.

    En résumé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $quatreDerniers = array(); 
    for($i = 0; $i < 4 && $i < $liste->length; $i++) {
      $quatreDerniers[] = $liste->item($liste->length - 4 + $i);
    }
    J'ai modifié un peu les indices mais ça revient au même
    Ca devrait marcher (j'ai pas PHP5 là où je suis je ne peux pas vérifier)

  2. #42
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Points : 65
    Points
    65
    Par défaut
    Malheureusement ça marche pas très bien

    Donc j'ai ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $liste = $dom->getElementsByTagName('concours');
     
    $quatreDerniers = array(); 
    for($i = 0; $i < 4 && $i < $liste->length; $i++) {  
     
    $quatreDerniers[] = $liste->item($liste->length - 4 + $i);
     
    echo $quatreDerniers['nom'];
    }
    Ca n'affiche que le dernier et les données ne s'affichent pas ..

    ??

    EDIT : non ça affiche bien les 4 mais pas les données ..

  3. #43
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    $quatreDerniers['nom'] n'a jamais été défini il me semble... Mais ça, je te l'ai déjà dit...
    Si tu veux récupérer le fils qui s'appelle "nom", il faut (par exemple) faire un getElementsByTagName('nom') depuis $quatreDerniers[0], $quatreDerniers[1], $quatreDerniers[2] ou $quatreDerniers[3].
    Et là tu pourras accéder à l'élément qui a le nom "nom".

    C'est pas magique l'informatique...

  4. #44
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Points : 65
    Points
    65
    Par défaut
    Je ne comprends pas ça ne fonctionne pas.

    Je mets bien : $nom = $quatreDerniers[$i]->getElementsByTagName('nom');

    je fais donc echo $nom;

    et ça me met 4 trucs ainsi :

    Object id #4
    Object id #6
    Object id #7
    Object id #8

    ?

  5. #45
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Klimium
    Je ne comprends pas ça ne fonctionne pas.

    Je mets bien : $nom = $quatreDerniers[$i]->getElementsByTagName('nom');

    je fais donc echo $nom;

    et ça me met 4 trucs ainsi :

    Object id #4
    Object id #6
    Object id #7
    Object id #8

    ?
    getElementsByTagName renvoie un DomNodList. Pas un DomNode ou un DomElement. De plus on ne fait pas un echo d'un objet Dom, on demande sa valeur... Mais c'est que des choses que tu as déjà faites depuis le début de cette conversation, et qui sont dans LA DOC.

  6. #46
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 171
    Points : 65
    Points
    65
    Par défaut
    Le problème que j'ai c'est que j'ai du mal a faire un lien avec tout les codes ..
    Je comprends mieux par exemples ..

    Sinon je vois pas comment je pourrais faire .. J'ai encore relus une partie de la doc ce matin ..

    ?

Discussions similaires

  1. [DOM] ajouter un attribut à la balise <BODY>
    Par GoldenEyes dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 25/06/2008, 13h33
  2. [Manipulation DOM] Ajouter un DIV "autour" d'un A
    Par psychomatt dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 27/02/2006, 15h18
  3. [SimpleXML] Problème sur simpleXML pour ajouter de nouveaux noeuds
    Par Shandler dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/02/2006, 13h55
  4. [DOM] Ajouter un bouton avec un nouveau style
    Par Mehdi Feki dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/12/2005, 08h56
  5. Ajout d'attribut à l'élément "Body"
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 07/04/2003, 15h52

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