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 : 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]

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>