PEAR::Pager tuto paginer le résultat venant d'un db méthode 2
À 08:43 dans la rubrique PHP / PEAR
←
/ #776
/ rss
/ →
Après la la méthode #1 voici
Méthode #2: Pager_Wrapper à la rescousse!
La seconde méthode est d'utiliser le plus maniable Pager_Wrappers que vous pouvez trouver dans le répertoire /examples/ de votre installation de PEAR (ou via le visualiseur CVS). Ces fonctions faire tout le sale boulot pour vous, alors jetez un coup d'oeil.
[php]
<?php
//copy the Pager_Wrapper file where you can include it
require_once 'Pager_Wrapper.php';
require_once 'MDB2.php';
//skipped the db connection code...
//let's just suppose we have a valid db connection in $db.
$pager_options = array(
'mode' => 'Sliding',
'perPage' => 10,
'delta' => 2,
);
$query = 'SELECT prod_name, prod_description FROM products';
$paged_data = Pager_Wrapper_MDB2($db, $query, $pager_options);
//show the results
echo '<ul>';
foreach ($paged_data['data'] as $product) {
echo '<li>'.$product['prod_name'].': '.$product['prod_description'].'</li>';
}
echo '</ul>';
//show the links
echo $paged_data['links'];
?>
Ces méthodes sont beaucoup plus efficaces que d'aller récupérer de tous les enregistrements de la base de données dans un tableau, et de le paginer ensuite.
Seuls les enregistrements utiles sont récupérés, ce qui réduit considérablement la charge sur le serveur (et sur le réseau, si vous avez la db sur une autre machine).
Pager_Wrapper, qui est fourni avec le paquet PEAR::Pager, contient les fonctions prête à l'emploi fonctionnant avec PEAR DBALs: DB, MDB, MDB2, DB_DataObject, et avec la bibliothèque PHP Eclipse. Vous pouvez facilement écrire les vôtres en suivant les exemples.








Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire