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] Accéder a un élément en particulier


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [SimpleXML] Accéder a un élément en particulier
    bonjour à tous,
    je rencontre un probleme tout bête, je vous mets mon xml :

    structure.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
     <page>
      <titre>Page 1</titre>
      <paragraphe>Ceci est le paragraphe de la page 1</paragraphe>
     </page>
     <page>
      <titre>Page 2</titre>
      <paragraphe>Et voilà la page 2</paragraphe>
     </page>
    </root>
    et voilà le code php pour y accéder :
    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
    <?php
    $xml = simplexml_load_file("structure.xml");
    var_dump($xml);
    if	(isset($_GET['page']))	{
    	/* Une seule */
    	$output = "<p>\$_GET = ".$_GET['page']."</p>";
    	$output .= "<textarea><item><titre>" . $xml->page[$_GET['page']]->titre	.	"</titre><paragraphe>" . $xml->page[$_GET['page']]->paragraphe . "</paragraphe></item></textarea>\n\r";
    	$output .= "<a href='ajax.charger.php'>retour liste</a>";
    }	else	{
    	/* All */
    	$nbre_page = count($xml->page);
    	for	($i = 0; $i < $nbre_page; $i++) {
    		$output .= "<h3><a href='?page=" . $i . "'>" . $xml->page[$i]->titre . "</a></h3>\n";
    	}
    }
    echo	$output;
    ?>
    Lorsque je n'ai pas de variable $_GET , le script boucle sur l'element 'page' et affiche tous les éléments 'page' du xml. Mais lorsque j'ai une valeur de $_GET , je l'utilise pour accéder à l'élement 'page' correspondant. Mais cela ne marche pas.. comme si $_GET['page'] etait vide...
    Le truc bizarre c'est que si je force en ligne 6 du script php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_GET['page'] = 0; // pour accéder au premier element par exemple
    cela marche...
    quelqu'un à une idée où je me plante ?
    Merci de votre aide

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    D'abord on ne devrait JAMAIS écrire soit meme dans POST, GET et REQUEST. ya des variables qui nous appartiennent et d'autres pas. pour moi elles sont pas a moi, s'il le faut je duplique je filtre & je valide.

    ensuite, on ne force pas en cette valeur en ligne 6 sur ton exemple mais en ligne 3 si tu veux que ça serve à quelque chose.

    enfin tu fais un VAR_DUMP() $_GET au début du script et tu y verras mieux.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    merci gene69 ,
    tu as raison pour l'utilisation de $_GET , je n'y accède jamais en écriture, c'était juste pour comprendre....
    Donc j'ai rajouté un var_dump() sur mon $_GET et il se trouve que ma variable etait en string , donc j'ai rajouté un intval() pour le convertir en int et là ça marche bien

    Merci de votre aide à tous

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

Discussions similaires

  1. [SimpleXML] Accéder à un élément d'un fichier XML
    Par domishao dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 27/05/2009, 00h53
  2. [SimpleXML] Accéder aux attributs d'un objet
    Par DeezerD dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 28/08/2007, 16h39
  3. [SimpleXML] Suppression d'un élément
    Par lamachine_fr dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/06/2007, 22h30
  4. [68000] Accéder au ième élément d'un tableau
    Par topmas dans le forum Autres architectures
    Réponses: 1
    Dernier message: 23/04/2007, 21h26
  5. Réponses: 4
    Dernier message: 06/03/2007, 06h26

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