Salut à tous ,
petite question, comment faire pour afficher un fichier XML en page par page.
pour le lire et l'afficher sur une page pas de problème,
voici mon code :

$fichier = 'programmes.xml';
$xml = simplexml_load_file($fichier);
foreach($xml as $lesprogrammes){

echo'
      <div  class="col-xs-12 col-sm-4 col-md-4 col-lg-4">
        <div  class="col-xs-12 col-sm-12 col-md-12 col-lg-12 ">
        <h3 class="text-center pb-10 color1">'.$lesprogrammes->nom.'</h3>
        <h4 class="text-center bg-noir colorf pbt-10">'.$lesprogrammes->typep.'</h4>
        </div>
        <div  class="col-xs-12 col-sm-12 col-md-12 col-lg-12 pt-00">
        <img src="'.$lesprogrammes->img1.'" alt="'.$lesprogrammes->nom.'" class="img-fluid img-center">
        </div>
        <div  class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
        <div class="bg-gris plr-10 pb-10">
          <p class="pt-20"><i class="icon-archi3 color1 icon-1x pr-10"> </i> Superficie : '.$lesprogrammes->superficie.'</p>
          <p><i class="icon-archi2 color1 icon-1x pr-10"> </i> Nombre de lots : '.$lesprogrammes->lots.'</p>
          <p><i class="icon-location color1 icon-1x pr-10"> </i> Localisation : '.$lesprogrammes->localisation.'</p>
          <p><i class="icon-euro color1 icon-1x pr-10"> </i> Prix à partir de '.$lesprogrammes->prix.'</p>       
        </div>
        </div>
      </div>';


Par contre lorsqu'il y a 1 centaine d'entrée, cela serait bien de pouvoir en afficher une vingtaine par page.
Comment faire ?
Merci d'avance de votre aide.

Cdt
Modifié par spawns (09 Jul 2021 - 12:12)
Salut,

Il va falloir que tu mettes un système de pagination en place si ton compteur d'éléments est supérieur à 20.

Je verrais 3 solutions possibles :
- en php avec un paramètre de numéro de page qui te permet de skip les X*20 premières lignes et de n'afficher que les 20 suivantes (voir du coté de https://www.php.net/manual/fr/class.limititerator.php pour faire ça relativement facilement je pense). Cela implique un rechargement de page.
- en css. Le php envoie le fichier complet mais tu ajoutes une classe qui change toutes les 20 entrées et tu n'affiches qu'une classe à la fois. Cela implique d'envoyer systématiquement tout le fichier xml ce qui peut être gênant si le fichier est lourd
- en ajax : tu as une zone fixe qui au départ affiche les 20 premières entrées et l'appel ajax va aller chercher les 20 entrées voulus.

Bon courage
Meilleure solution
Mathieuu a écrit :
Salut,

Il va falloir que tu mettes un système de pagination en place si ton compteur d'éléments io games est supérieur à 20.

Je verrais 3 solutions possibles :
- en php avec un paramètre de numéro de page qui te permet de skip les X*20 premières lignes et de n'afficher que les 20 suivantes (voir du coté de https://www.php.net/manual/fr/class.limititerator.php pour faire ça relativement facilement je pense). Cela implique un rechargement de page.
- en css. Le php envoie le fichier complet mais tu ajoutes une classe qui change toutes les 20 entrées et tu n'affiches qu'une classe à la fois. Cela implique d'envoyer systématiquement tout le fichier xml ce qui peut être gênant si le fichier est lourd
- en ajax : tu as une zone fixe qui au départ affiche les 20 premières entrées et l'appel ajax va aller chercher les 20 entrées voulus.

Bon courage

Merci, c'est ce que je vais faire.