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;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: A little extension for Data::Page
by acme (Novice) on Jul 20, 2004 at 14:16 UTC | |
by valdez (Monsignor) on Jul 20, 2004 at 14:25 UTC |