Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
Dreamgratuit - Philosophie
6 novembre 2008

Pagination type "Google" avec Dreamweaver : 1 | 2 | 3 | etc...

Voici un petit tuto qui répond à la demande d'un de mes lecteurs... :-)

Comme vous le savez, le système de pagination de Dreamweaver ne permet qu'un seul type de navigation dans les enregistrements : "premier" - "précédent" - "suivant" - "dernier". Je vais vous montrer comment améliorer ce comportement serveur en ajoutant quelques lignes de codes.

Nous allons supposer que votre jeu d'enregistrement se nomme Recordset1. Utilisez le comportement serveur de pagination en standard dans dreamweaver pour insérer le code de la navigation à l'endroit désiré (cette étape est importante car elle va insérer le code nécessaire dans la partie au dessus de votre balise <html>).

Passez en mode "code" et répérez les lignes suivantes dans votre page :

      <?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
      <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0, $queryString_Recordset1); ?>">Premier</a>
      <?php } // Show if not first page ?>
   
      <?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
      <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, max(0, $pageNum_Recordset1 - 1), $queryString_Recordset1); ?>">Pr&eacute;c&eacute;dent</a>
      <?php } // Show if not first page ?>
   
      <?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
      <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1); ?>">Suivant</a>
      <?php } // Show if not last page ?>
   
      <?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
      <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, $totalPages_Recordset1, $queryString_Recordset1); ?>">Dernier</a>
      <?php } // Show if not last page ?>

Supprimer les pagineurs "précédent" et "suivant" avec le code PHP qui s'y rapporte et insérez le code ci-dessous apparaissant en gras (n'oubliez pas de modifier les mentions "Recordset1" avec celle de votre propre jeu d'enregistrement !) :

<?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
        <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0, $queryString_Recordset1); ?>">Premier</a>
  <?php } // Show if not first page ?>
       
        <?php // ICI LE CODE A INSERER en l'adaptant au nom de votre jeu d'enregsitrement !
  $last=$totalPages_Recordset1+1;
  $current=$pageNum_Recordset1+1;
  for ($i = 1; $i <= $last; $i++) {
      if($current==$i){
   echo "<strong> ". $i . "</strong> | ";
   } else { ?>
            <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $i-1), $queryString_Recordset1); ?>"><?php echo $i;?></a><?php echo " | "; ?>
        <?php
   }
  }
  ?>

        <?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
        <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, $totalPages_Recordset1, $queryString_Recordset1); ?>">Dernier</a>
  <?php } // Show if not last page ?>

Voilà, c'est fait, vous bénéficiez d'un pagineur !

Publicité
Commentaires
L
merci pour cette astuce !<br /> <br /> par contre est-ce que quelqu'un a déjà rencontré un problème, lors du clic sur "Suivant" (ou "2" ;) les enregistrements sont tous vides? <br /> <br /> cette fonction a toujours bien fonctionné mais là, plus rien.. une idée?
K
precision pour transfomer :<br /> <br /> xxxx-page.php?pageNum_nom=1&totalRows_nom=15<br /> <br /> en <br /> <br /> xxxx-page-1-15.html ?<br /> <br /> merci si quelqun peux m'aider
K
Genial ! Mais comment faire pour faire du url rewriting ? Je n'ai pas trouvé des solutions pour les url dynamiqes style :<br /> <br /> page.php?pageNum_page=1&totalRows_fpage=15
L
Yeah ! Merci pour le tuto...<br /> J'utilise une extension gratuite de dreamweaver (navigation builder) qui correspond au petit bout de code plus haut.<br /> C'est disponible sur le site de Alessandro Crugnola.<br /> <br /> À télécharger ici :<br /> https://www.sephiroth.it/file_detail.php?id=107
Archives
Publicité
Publicité