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] balise xml entre 2 pages


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 24
    Points
    24
    Par défaut [SimpleXML] balise xml entre 2 pages
    bonjour tout le monde,
    j'ai un fichier xml:

    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
    <users>
    	<user id="idsalwa">
    		<statut>1</statut>
    		<cours id="cours1">
    			<etape id="etp1">
    				<chap id="chap1">
    					<nom>Nchap1</nom>
    				</chap>
    				<chap id="chap2">
    					<nom>Nchap2</nom>
    				</chap>
    			</etape>
    			<etape id="etp2">
    				<chap id="chap1">
    					<nom>Nchap1</nom>
    				</chap>
    			</etape>
    		</cours>
    	</user>
    </users>

    j'ai pu exploité et affiché son contenu grâce au code

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    echo '<ul>';
    								foreach($users->xpath("//user[@id='{$_SESSION['identifiant']}']/cours") as $item)
    									{
    									$row = simplexml_load_string($item->asXML());
    									//echo '<li>';
    									//$idcours= $item['id'];
    									echo '<li><a href="ajout_etape.html">' . $item['id'] . '</a></li>';//lien pr creer une etape
    									//echo $item['id'];
    									echo '<br>'.$item->description;
    									//echo '<br>'.$item->etape['id'];//---------------------
    									echo '<ul>';
    									foreach($item->etape as $etap)
    									{
    										$etape = simplexml_load_string($etap->asXML());
    										echo '<li><a href="ajout_chapitre.php">' . $etap['id'] . '</a></li>';
    										//echo $etap['id'];
     
    										echo '<ul>';
    										foreach($etape->chap as $chapitr)
    										{
    											$chapitr = simplexml_load_string($chapitr->asXML());
    											echo '<li>';
    											echo '<br>'.$chapitr['id'];
    											echo '<br>'.$chapitr->nom;
    											echo '</li>';
    										}
    										echo '</ul><br />';
    									}
    									echo '</ul><br />';
     
     
     
    									$nb_cours++;
    									echo '</li>';
    									}
    									echo '</ul><br />';
    cela m'affiche l'arborescence de mon fichier xml :

    cours1
    etp1
    chap1
    Nchap1
    chap2
    Nchap2
    etp2
    chap1
    Nchap1

    cours1,etap1,etap2 sont cliquables est mènent a un formulaire qui permet l'ajout de nouvelle sous balise a la balise cliquée.
    par exemple en cliquant sur etap2,dans le form qui suit je doit ajouter la sous balise chapI a la balise etap2 dans mon fichier XML (etap2->addChild('chapI') ; ).

    le problème c'est que je ne sais pas comment définir la variable etap2 entre les 2pages

    quelqu'un a une solution?
    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 239
    Points : 8 510
    Points
    8 510
    Billets dans le blog
    17
    Par défaut
    Il faut passer en paramètre GET à la 2nde page l'identifiant unique de l'étape à éditer.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    bonjour,
    je ne comprend pas votre reponse, je n'ai pas d'identifiant pour mon etape car c'est le resultat d'une boucle foreach et je ne sais pas comment recuperer l'identifiant dont vous parlez.
    pouvez vous m'expliquer davantage votre solution.
    merci d'avance

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 239
    Points : 8 510
    Points
    8 510
    Billets dans le blog
    17
    Par défaut
    je n'ai pas d'identifiant pour mon etape
    Il faudrait y penser, sinon comment manipuler tes <etape> ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		<cours id="cours1">
    			<etape id="etp1">
    				<chap id="chap1">
    A quoi servent ces attributs id ?? Tu peux sûrement les utiliser pour identifier l'étape à éditer.

    car c'est le resultat d'une boucle foreach
    Je ne vois pas de lien de cause à effet.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    bonjour,
    votre réponse m'est encore flou!!
    après ma boucle j'obtient l'affichage suivant:

    cours_Maths
    partie1
    chap1
    chap2
    cours_Physique
    partie1
    chap1
    partie2
    chap1
    chap2

    mon but c'est en cliquant sur "partie2" qui est en rouge je peux entrer dans la balise 'partie2' de 'cours_Physique' et d'y ajouter un chapitre (c a d je dois pouvoir identifier toute ma branche pour y ajouter du contenu)

    merci

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    après la boucle j'obtiens l'arborescence suivante:

    cours_Maths
    partie1
    chap1
    chap2
    cours_Physique
    partie1
    chap1
    partie2
    chap1
    chap2

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 239
    Points : 8 510
    Points
    8 510
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par jenny_cailer Voir le message
    mon but c'est en cliquant sur "partie2" qui est en rouge je peux entrer dans la balise 'partie2' de 'cours_Physique' et d'y ajouter un chapitre (c a d je dois pouvoir identifier toute ma branche pour y ajouter du contenu)
    Pb : tu as plus plusieurs éléments ayant un id valant partie2, ce seul paramètre n'est dont pas suffisant pour identier la partie à éditer.
    Donc 2 possibilités :
    1. Tu donnes un identifiant unique dans le XML à tes éléments

    2. Tu transmets ce qui constitueras un clef d'identification à la page d'édition, le cas échéant cours=Physique&chapitre=chapitre1&partie=partie1

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Merci pour votre réponse, j'ai fais des modifications au niveau de mon fichier XML et çà marche!!

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

Discussions similaires

  1. [SimpleXML] Récupérer contenu d'une balise XML contenant du HTML
    Par samichon dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/08/2007, 08h36
  2. [W3C] Balise xml:lang dans page bilingue
    Par php_de_travers dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 30/01/2007, 12h15
  3. [SAX] Comment récupérer un String entre deux balise xml?
    Par L4BiN dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/06/2006, 09h02
  4. Récupérer du texte d'un fichier xml entre deux balises
    Par manutudescends dans le forum Format d'échange (XML, JSON...)
    Réponses: 24
    Dernier message: 30/11/2005, 18h29
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 16h36

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