bonjour,

j'utilise simplexml pour lire et paginer un fichier xml,
tout fonctionnne mais je voulais urlrewriter tout cela
hors lorsque je met en place l'url rewriting (qui fonctionne aussi),
plus rien ne fonctionnne en revanche au niveau du parsing du fichier xml
si je fais un print_r($produits); array est vide ! et dès que j'enlève mon fichier
.htaccess tout refonctionne !

Peut-on m'expliquer la relation qu'il y entre, le non affichage de mes produits
et l'urlrewriting

Merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Mon code urlrewriting:
 
RewriteEngine On
RewriteRule ^(.*) xml.php?page=$1 [L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]

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
40
41
42
43
44
45
46
47
48
49
50
51
52
 
define('NB_PAR_PAGE', 15); 
 
 
if (isset($_GET['page'])) { $page = intval($_GET['page']); } else { $page = 1; }
// OU 
$page = isset($_GET['page']) ? max(intval($_GET['page']), 1) : 1;
 
$document = simplexml_load_file('produits.xml'); 
$count = count($document->xpath("//products/product/name")); 
 
$debut_pos = ($page - 1) * NB_PAR_PAGE + 1; 
$fin_pos = $page * NB_PAR_PAGE + 1;
$derniere_page = ceil($count / NB_PAR_PAGE);
 
$produits = $document->xpath(utf8_encode("//products/product[name][position()>=$debut_pos and position()<$fin_pos]"));
// print_r($produits);
 
foreach ($produits as $produit) {
 
echo' '. utf8_decode($produit->name) .' ';
 
}
 
// La Pagination flotante style   2 3 4 5 6 (7) 8 9 10 11 12
 
$x="intitulerdelurl-";
 
    echo'<br /><div class="pagination"> '.$page.'-'.$paga.'';
     if ($page > 1) {  
        echo '<div class="prev"><a href="' . basename(__FILE__) . '?page=' . ($page - 1) . '">Pr&eacute;c.</a></div>'; 
    } 
if($page > 5) { $d = $page - 5; } else {$d = 1;}
if($page > $nb_pages) { $f = $page + 5; } else {$f = $derniere_page;}
  //  for ($i = 1; $i <= $derniere_page; $i++) { 
   for ($i = $d; $i <= $f; $i++) {  
        if ($i == $page) {
            echo '<span class="current">' . $i . '</span>';
        } else {
          //  echo ' <a href="' . basename(__FILE__) . '?page=' . $i . '"> ' . $i . ' </a> ';
 
//   VERSION URLREWRITER
 echo ' <a href="' . basename(__FILE__) . ''. $x .''  . $i . '"> ' . $i . ' </a> ';
 
// echo "<a href='".$x.(($cpt-1)*$nb_affichage_par_page).".".htm."'>".$cpt."</a>";  } else { // else pr search
 //    echo "<a href='?q=$qx&amp;meta=$meta&amp;debut=".(($cpt-1)*$nb_affichage_par_page)."'>".$cpt."</a>"; 
 
        }  
    }
    if ($page < $derniere_page) {
        echo '<div class="next"><a href="' . basename(__FILE__) . '?page=' . ($page + 1) . '">Suiv. </a>'; 
    }