bonjour,
Sur une requête XPath je souhaite récupérer que les noeuds produit
ayant un fils ville_dep qui vaut lyon,
sur ma lecture je récupère tous les noeuds, au lieu des 2 premiers
depart : 2007-11-12 à lyon
depart : 2007-10-15 à lyon
depart : 2007-10-01 à marseille
depart : 2007-09-03 à paris
Je débute dans ce langage
y'at'il un problème sur la requête ?
$produits = $document->xpath(utf8_encode("//produit[position()>=$debut_pos and position()<$fin_pos and prix/unprix/ville_dep='lyon']"));
Merci d'un avis
[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 <? define('NB_PAR_PAGE', 10); $page = isset($_GET['page']) ? intval($_GET['page']) : 1; $document = simplexml_load_file('produits.xml'); $count = count($document->xpath("//produit[prix/unprix/ville_dep='lyon']")); $debut_pos = ($page - 1) * NB_PAR_PAGE + 1; $fin_pos = $page * NB_PAR_PAGE + 1; $derniere_page = ceil($count / NB_PAR_PAGE); if ($count > 0) { $produits = $document->xpath(utf8_encode("//produit[position()>=$debut_pos and position()<$fin_pos and prix/unprix/ville_dep='lyon']")); foreach ($produits as $produit) { $nomp = utf8_decode((string) $produit->nom_produit); $ville = utf8_decode((string) $produit->ville_dest); $dep = utf8_decode((string) $produit->prix->unprix[1]->date_dep); $desc = utf8_decode((string) $produit->accroche); $img = utf8_decode((string) $produit->img_produit); $pri = utf8_decode((string) $produit->prix->unprix[1]->prix); $lien = ''; // Variable indéfinie sans echo '<table width="90%" border="0" align="center"> foreach ($produit->prix->unprix as $unprix) { echo '<tr> <td>depart : ' . utf8_decode((string) $unprix->date_dep) . ' à ' . utf8_decode((string) $unprix->ville_dep) . '</td> </tr>'; } echo '</table>';
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 <?xml version="1.0" encoding="utf-8"?> <produit> <nom_fournisseur>nom du fournisseur</nom_fournisseur> <prix> <unprix> <ville_dep>lyon</ville_dep> <date_dep>2007-11-12</date_dep> <prix_produit>3621</prix_produit> </unprix> <unprix> <ville_dep>lyon</ville_dep> <date_dep>2007-10-15</date_dep> <prix_produit>3981</prix_produit> </unprix> <unprix> <ville_dep>marseille</ville_dep> <date_dep>2007-10-01</date_dep> <prix_produit>3981</prix_produit> </unprix> <unprix> <ville_dep>paris</ville_dep> <date_dep>2007-09-03</date_dep> <prix_produit>3521</prix_produit> </unprix> </prix> </produit>
Partager