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 :

[XML] 1=1 mais pas pour php?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 25
    Points : 30
    Points
    30
    Par défaut [XML] 1=1 mais pas pour php?
    Salut,

    J'ai un xml contenant 2 tableaux (offres et categories) eux même dans un tableau Boutique :

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <Boutique>
    	<Offres type="array">
    		<offre>
    			<id>1</id>
    			<titre>titre 1</titre>
    			<contenu>le 1er contenu</contenu>
    			<categorie_id>1</categorie_id>
    			<disponible>1</disponible>
    			<prix>le prix</prix>
    		</offre>
    		<offre>
    			<id>2</id>
    			<titre>titre 2 </titre>
    			<contenu>mon second contenu</contenu>
    			<categorie_id>1</categorie_id>
    			<disponible>1</disponible>
    			<prix>prix</prix>
    		</offre>
    	</Offres>
    	<Categories type="array">
    		<categorie>
    			<id>1</id>
    			<titre>titre categorie</titre>		
    		</categorie>
    	</Categories>
    </Boutique>
    Je parse le xml avec l'objet SimpleXMLElement() que je stocke dans une variable $Content.
    Puis je parcours les 2 tableaux avec 2 foreach :

    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
     
    <div class="primary">
        <div id="carroussel">
            <?php foreach($Content->Categories->categorie AS $categorie) : ?>
            <div class="categorie" id="<?php echo $categorie->id ; ?>">
            <h2><?php echo $categorie->titre; ?></h2>
             <?php foreach($Content->Offres->offre AS $offre) : ?>
                 <?php if($categorie->id == $offre->categorie_id && $offre->disponible == 1) : ?>
                    <div class="carroussel" id="<?php echo $offre->id; ?>">
                        <h2><?php echo $offre->titre ; ?></h2>
                        <div class="texte"><?php echo $offre->contenu; ?></div>
                        <div class="prix"><?php echo $offre->prix; ?></div>
                    </div>
                <?php endif; ?>
            <?php  endforeach; ?>
            </div>
            <?php  endforeach; ?>
        </div>
    </div>
    Le problème, c'est que pour lui $offre->categorie_id (qui vaut 1) n'est pas égal à $categorie->id (qui lui aussi vaut 1). Et donc rien ne s'affiche.
    J'ai fait des test en enlevant la condition sur l'id de la catégorie, et tout s'affiche normalement.

    Je n'utilise jamais les xml, ptete qu'il y a une synthaxe spécial à respecter?


    Stevens,

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    essaye de les forcer en int :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(intval($categorie->id) == intval($offre->categorie_id) && intval($offre->disponible) == 1)
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Ah, et bah merci

    Résolu.

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Tu peux caster également (c'est plus lisible je trouve).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $a = "1";
    var_dump( (int)$a );
    Fonctionne avec int, integer, bool, boolean, real, float, double, array, unset et object
    Voir http://php.net/manual/en/language.ty...e-juggling.php

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

Discussions similaires

  1. [Google Maps] GDownloadUrl accepte le .xml mais pas le .php
    Par freddy000 dans le forum APIs Google
    Réponses: 0
    Dernier message: 24/12/2010, 17h48
  2. [MySQL] requête qui marche avec phpmyadmin mais pas en php
    Par KoosMos dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/02/2008, 11h00
  3. TV disponible free mais pas pour neuf ?
    Par kiki1844 dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 16/01/2008, 11h28
  4. Réponses: 9
    Dernier message: 13/07/2007, 11h03
  5. Question SQL (facile) mais pas pour moi
    Par fabianrs dans le forum Langage SQL
    Réponses: 15
    Dernier message: 30/03/2006, 03h44

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