The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DBIx::Pager - SQL paging helper.

SYNOPSIS

  use DBIx::Pager;

  my $pager = DBIx::Pager->new(
       dsn => 'dbi:mysql:test',
       user => 'root',
       table => 'table',
       offset => 0,
       limit => 20
  );

  if($pager->has_next) {
      # ...
  }

DESCRIPTION

DBIx::Pager supports calculation about paging when SELECT a lot of data. this module is suitable for Web application using MySQL and Template-Toolkit.

METHODS

$pager = DBIx::Pager->new(%args)

construct DBIx::Pager object. the optios are below.

dsn

DBI datasource.

user

DBI username

password

DBI password

dbh

connected database handle.

table

setup table name. (require)

limit

limit of data per page. (require)

offset

offset of page. (default 0)

where_clause

SQL where clause.

  my $pager = DBIx::Pager->new(
       dbh => $dbh
       table => 'table',
       offset => 0,
       limit => 20,
       where_clause => 'WHERE id < 1000'
  );
  
  # with place holder.
  my $pager = DBIx::Pager->new(
       dbh => $dbh
       table => 'table',
       offset => 0,
       limit => 20,
       where_clause => [ 'WHERE id < ?', $id ]
  );
$total = $pager->total

total count of rows.

$pager->has_next

return true when pager has next pages.

$pager->has_prev

return true when pager has previous pages.

$pager->next_offset

return next offset.

$pager->prev_offset

return previous offset.

$pager->page_count

return total "page" count.

$page->current_page

reutrn current page number. first is 1.

AUTHOR

IKEBE Tomohiro <ikebe@edge.co.jp>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Data::Page DBI