IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] urlrewriting et simplexml


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 41
    Par défaut [SimpleXML] urlrewriting et simplexml
    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>'; 
        }

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 370
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 370
    Billets dans le blog
    17
    Par défaut
    Es-tu sûr des règles de rewriting ?
    As-tu fait un pour t'assurer que tu reçois toujours ?

  3. #3
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 41
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Es-tu sûr des règles de rewriting ?
    As-tu fait un pour t'assurer que tu reçois toujours ?
    Ah effectivement ! si je mets .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [page] => xml.php )
    Sinon j'ai
    et cela fonctionne

    Je ne comprends pas pourtant je n'ai qu'une seule variable numérique à récupérer et je n'y arrive pas.

Discussions similaires

  1. [SOAP] simpleXML envelope
    Par sk8world dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 09/12/2005, 10h55
  2. [SimpleXML] Comment passer de XML à MySQL et vice-versa avec PHP ?
    Par Ben42 dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 05/12/2005, 22h42
  3. [SimpleXML] Utilisation chez OVH
    Par vodnok dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/11/2005, 10h52
  4. [SimpleXML] XML et parcours des noeuds avec foreach
    Par kult dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 15/11/2005, 16h36
  5. [SimpleXML] Comment faire pour transformer un fichier XML en PHP ?
    Par magic8392 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/09/2005, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo