[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:
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:
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,