Salut,
J'ai un xml contenant 2 tableaux (offres et categories) eux même dans un tableau Boutique :
Je parse le xml avec l'objet SimpleXMLElement() que je stocke dans une variable $Content.
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>
Puis je parcours les 2 tableaux avec 2 foreach :
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.
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>
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,
Partager