bonsoir,
Dans mon code, faire une lecture complète du fichier d'un fichier
avec ces 2 lignes se passe très bien
Or évidemment, j'aurai voulu faire un tri par ville ce que je n'arrive pas à faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $count = count($document->xpath("//products/product/name")); $produits = $document->xpath(utf8_encode("//products/product[name][position()>=$debut_pos and position()<$fin_pos]"));
je suppose donc que j'interprète mal la structure de mon fichier xml
J'ai mis dans mon code des lignes que j'ai testé sans succès, si on peut
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 - <products> - <product> <name></name> <productUrl></productUrl> <imageUrl></imageUrl> <description></description> <TDProductId></TDProductId> - <fields> <city>PARIS</city> </fields> </product>
m'expliquer mon erreur, en fait soit je trouve Paris en Array soit je touve ma
liste complète en Array mais je n'arrive pas trier, bon je n'arrive pas à écrire
correctement ces 2 lignes de code $count et $produits !
merci d'avance si vous pouvez m'expliquer !
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
31
32
33
34
35
36
37
38
39 $ville="PARIS"; define('NB_PAR_PAGE', 10); // Variables liées à la pagination // On récupère le numéro de page sur laquelle on se trouve if (isset($_GET['objet'])) { $objet =$_GET['objet']; } else {$objet = "";} $page = isset($_GET['page']) ? intval($_GET['page']) : 1; $document = simplexml_load_file('produits.xml'); // ESSai 1 On compte ok $count = count($document->xpath("//products/product/name")); // ESSAI 2 Bad $count = count($document->xpath("//products/product/fields[city='$ville']")); // ESSAI 3 Bad $count = count($document->xpath("//products/product/name/fields[city='$ville']")); $debut_pos = ($page - 1) * NB_PAR_PAGE + 1; $fin_pos = $page * NB_PAR_PAGE + 1; $derniere_page = ceil($count / NB_PAR_PAGE); // 1 LECTURE COMPLETE ok mais ce n'est pas ce je recherche $produits = $document->xpath(utf8_encode("//products/product[name][position()>=$debut_pos and position()<$fin_pos]")); // ESSAi 2 bad print_r ($produits); ---------- > SimpleXMLElement Object ( [city] => PARIS ) [75] $produits = $document->xpath(utf8_encode("//products/product/fields[city='$ville'][position()>=$debut_pos and position()<$fin_pos]")); // Esaii 3 Bad ARRAY VIDE $produits = $document->xpath(utf8_encode("//products/product/name/fields[city='$ville'][position()>=$debut_pos and position()<$fin_pos]")); print_r($produits);
Partager