The module Data::Page lacks a simple property that is useful when you need to build SQL queries with a LIMIT clause under MySql: how many records should you skip to reach the first record of current page? The answer is $self->first - 1 records. This isn't obvious to remember and not so clear at first sight when you read in a query, so I added a property that implements this functionality. A little example:
Of course I sent a patch for this to acme.... $pager = Data::Page::Extended->new($total_records, $page_size, $current_page); $sth = $dbh->prepare(q{select * from table where rec_date <= ? order by rec_date limit ?,?}); $sth->execute($date, $pager->skipped_items, $page_size); ...
Ciao, Valerio
package Data::Page::Extended; use base 'Data::Page'; sub skipped_items { my $self = shift; return $self->first - 1; } 1;
In reply to A little extension for Data::Page by valdez
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |