Class pagination php5 poo

Contenu du snippet

Voici une petite class en php qui permet de créer un système de pagination, elle est assez propre je pense, je m'en sert et elle est stable alors j'espère qu'elle vous sera utile.

Source / Exemple :


<?php
//*** CREE PAR MOUNIR R'QUIBA (MOON AIR) (cosmoswarez@msn.com) ********
//          31/08/2009 !! COPYRIGHT !!
//--------A utiliser sans moderation :D -------------------------------

  • Class qui met automatiquement en forme la pagination
  • /
class Page{ static function pagination($nbFields,$pos=1,$nbCount=10,$path){ $cPage = ceil($nbFields/$nbCount); $cBy = 0; $cStart = ($pos < 3 and $pos > 1)? $pos-1 : $pos-2; if($pos == 1){$cStart = 1;} if($pos == $cPage){$cStart = $pos - 4;} if($pos == $cPage-1){$cStart = $pos - 3;} $posPlus = $pos+1; $posMoins = $pos-1; if($cPage > 5){ $link = ($pos < 4)? "" : " <a href=\"".$path."1\" ><<</a> |"; } $linkp = ($pos < 2)? "" : " <a href=\"$path$posMoins\" ><</a> |"; $link .= $linkp; for($i=$cStart;$i<=$cPage;$i++){ $cBy++; if($cBy > 0 and $cBy < 6){ if($pos == $i){ $link .= " <font color=\"red\">$i/$cPage</font> |"; }else{ if($i >= 1){ $link .= " <a href=\"$path$i\" >$i</a> |"; } } } } $link = substr($link,0,-1); $vlink = ($pos > ($cPage-1))? "" : " | <a href=\"$path$posPlus\" >></a>"; if($cPage > 5){ $flink = ($pos > ($cPage-3))? "" : " | <a href=\"$path$cPage\" >>></a>"; } $link .= $vlink; $link .= $flink; return $link; } } /*
  • Affichage du système de pagination
  • /
$nbFields = 1000; $nbCount = 10; $nbPage = $nbFields / $nbCount; $path = "./?pos="; if(isset($_GET['pos'])){ $pos = trim(htmlentities($_GET['pos'], ENT_QUOTES)); if($pos > $nbPage or $pos <= 0 ){ $pos = 1; } }else{ $pos = 1; } $print_page = Page::pagination($nbFields,$pos,$nbCount,$path); echo $print_page; ?>

Conclusion :


Bon je pense que vous allé la trouvé assez simple alors utilisé la ;)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.