La classe de pagination Pager de Pear est une classe de pagination PHP très utile. Elle est hautement évolutive et peut s'adapter aux besoins de diverses situations de pagination au moins dans mes grands et petits projets au cours des dernières années, je n'ai pratiquement pas écrit de code supplémentaire pour la pagination. , utilisent tous Pager, ce qui montre la grande convivialité de Pager. Utilisons le code pour voir ses exemples d'utilisation :
Exemple 1.
TEXTE CLAIR
PHP :
<?php
require_once'Pager/Pager.php';
$params=tableau(
'mode' =>'Saut',
'parPage' =>3,
'delta' =>2,
'itemData' =>array('a','b','c','d','e',[...omissis...],'z')
);
$pager= & Pager::factory($params);
$data =$pager->getPageData();
$links=$pager->getLinks();
//$links est un tableau ordonné+associatif avec des liens 'back'/'pages'/'next'/'first'/'last'/'all'
//NB : $links['all'] est identique à $pager->links ;
//fait écho aux liens vers d'autres pages :
echo$links['tous'];
//Pager peut également générer des balises <link rel="first|prev|next|last">
echo$pager->linkTags;
//Afficher les données de la page actuelle :
echo'DONNÉES PAGÉES : ';print_r($data);
//Résultats des méthodes :
echo'getCurrentPageID()...: ';var_dump($pager->getCurrentPageID());
echo'getNextPageID()......: ';var_dump($pager->getNextPageID());
echo'getPreviousPageID()..: ';var_dump($pager->getPreviousPageID());
echo'numItems().....: ';var_dump($pager->numItems());
echo'numPages().....: ';var_dump($pager->numPages());
echo'isFirstPage().....: ';var_dump($pager->isFirstPage());
echo'isLastPage().........: ';var_dump($pager->isLastPage());
echo'isLastPageComplete().: ';var_dump($pager->isLastPageComplete());
echo'$pager->range.....: ';var_dump($pager->range);
?>
Lorsque vous utilisez Pager, vous pouvez gérer de nombreuses situations de pagination en ajustant les paramètres du tableau $param. Le tableau $links dans le code contient des liens, tels que page précédente/numéro de page/page suivante/première page/dernière page/tout . Exemple
2
De nos jours, de nombreux sites Web utilisent des règles de réécriture pour simuler des pages dynamiques en pages statiques dans un souci de référencement, comme la configuration .htaccess suivante :
RewriteEngine on
#Options SuivreLes liens symboliques
RewriteBase /
RewriteRule ^articles/([az]{1,12})/art([0-9]{1,4}).html$ /article.php?num=$2&month=$1 [L]
Même dans ce In dans ce cas, la pagination Pager a encore un moyen de fonctionner, voir le code ci-dessous
TEXTE PLAIN
PHP :
<?php
require_once'Pager/Pager.php';
//premier téléavertisseur
$params1=tableau(
'parPage' =>3,
'urlVar' => pageID_articles, //1er identifiant
'itemData' =>$unTableau
);
$pager1= & Pager::factory($params1);
$data1 =$pager1->getPageData();
$links1=$pager1->getLinks();
//deuxième téléavertisseur
$params2=tableau(
'parPage' =>8,
'urlVar' => pageID_news, //2ème identifiant
'itemData' =>$unAutreArray
);
$pager2= & Pager::factory($params2);
$data2 =$pager2->getPageData();
$links2=$pager2->getLinks();
?>
En configurant $param, vous pouvez mapper le lien "/articles/march/art15.html" au lien "/article.php?num=15&month=march", ce qui montre
une évolutivité plus flexible.
précédemment
écrite - Pager::Pathing(), cette méthode a été étendue à partir de Pager et répondait aux besoins de l'époque.
Publié le 22 septembre 2006 à 7 h 16
Informations sur les droits d'auteur : Vous pouvez réimprimer à volonté Lors de la réimpression, veuillez vous assurer d'indiquer la source originale et les informations sur l'auteur de l'article ainsi que
le lien permanent de cette déclaration sous la forme d'un lien hypertexte. - http://www.ooso.net/index.php/archives/250.