debian man page for class::dbi::pager

Query: class::dbi::pager

OS: debian

Section: 3pm

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

Class::DBI::Pager(3pm)					User Contributed Perl Documentation				    Class::DBI::Pager(3pm)

NAME
Class::DBI::Pager - Pager utility for Class::DBI
SYNOPSIS
package CD; use base qw(Class::DBI); __PACKAGE__->set_db(...); use Class::DBI::Pager; # just use it # then, in client code! package main; use CD; my $pager = CD->pager(20, 1); # ($items_per_page, $current_page) my @disks = $pager->retrieve_all;
DESCRIPTION
Class::DBI::Pager is a plugin for Class::DBI, which glues Data::Page with Class::DBI. This module reduces your work a lot, for example when you have to do something like: * retrieve objects from a database * display objects with 20 items per page In addition, your work will be reduced more, when you use Template-Toolkit as your templating engine. See "EXAMPLE" for details.
EXAMPLE
# Controller: (MVC's C) my $query = CGI->new; my $template = Template->new; my $pager = Film->pager(20, $query->param('page') || 1); my $movies = $pager->retrieve_all; $template->process($input, { movies => $movies, pager => $pager, }); # View: (MVC's V) Matched [% pager.total_entries %] items. [% WHILE (movie = movies.next) %] Title: [% movie.title | html %] [% END %] ### navigation like: [1] [2] [3] [% FOREACH num = [pager.first_page .. pager.last_page] %] [% IF num == pager.current_page %][[% num %]] [% ELSE %]<a href="display?page=[% num %]">[[% num %]]</a>[% END %] [% END %] ### navigation like: prev 20 | next 20 [% IF pager.previous_page %] <a href="display?page=[% pager.previous_page %]"> prev [% pager.entries_per_page %]</a> | [% END %] [% IF pager.next_page %] <a href="display?page=[% pager.next_page %]"> next [% pager.entries_per_page %]</a> [% END %]
NOTE
/ TODO This modules internally retrieves itertors, then creates "Data::Page" object for paging utility. Using SQL clauses "LIMIT" and/or "OFFSET" with "DBIx::Pager" might be more memory efficient.
AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net> Original idea by Tomohiro Ikebe <ikebe@cpan.org> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
Class::DBI, Data::Page perl v5.10.0 2006-03-01 Class::DBI::Pager(3pm)
Related Man Pages
dbix::class::cdbicompat(3) - mojave
class::dbi::loader(3pm) - debian
class::dbi::pg(3pm) - debian
dbix::class::cdbicompat(3pm) - debian
gnome2::wnck::pager(3pm) - debian
Similar Topics in the Unix Linux Community
Mac's PHP MVC Framework 0.5.1 (Default branch)
Mac's PHP MVC Framework 0.6.5 (Default branch)
Navigation Toolkit for BASH
Simple Movie Catalog 1.0 (Default branch)
Adding Pager notification to mailx command.