Class::DBI::Pager man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

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

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.14.1			  2006-03-01		  Class::DBI::Pager(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net