in reply to Re: HTML Pager
in thread HTML Pager

I am not sure that I understand what you mean by "inside the callback"

Could you elaborate or give an example?

Replies are listed 'Best First'.
Re^3: HTML Pager
by moritz (Cardinal) on Aug 23, 2007 at 08:07 UTC
    In your code you write a subroutine that HTML::Pager calls to get the data, and this is called a "callback function".

    In your example it is this:

    # create a callback subroutine to generate the data to be paged my $get_data_sub = sub { my ($offset, $rows) = @_; my @return_array; for (my $x = 0; $x < $rows; $x++) { push(@return_array, [ $row ]); } return \@return_array; }

    Now this is just the stub function frrm the example in the documentation. You don't want that to return a few numbers here, but real data from your database.

    So you have to change your callback function:

    my $get_data_sub = sub { my ($offset, $rows) = @_; my @return_array; # Prepare SQL query: my $sth = $dbi->prepare("Your SQL here that fetches the data from + $offset to $offset+$rows"); $sth->execute($offset, $rows); while (my $array_ref = $sth->fetchrow_arrayref){ push @return_array, $array_ref; } return \@return_array; }

    The only thing that's left for you now is to figure out your SQL (a small hint: use placeholders as explained in the DBI documentation).

Re^3: HTML Pager
by Anonymous Monk on Aug 23, 2007 at 08:01 UTC
    Can you name the callback? Its  get_data_callback => $get_data_sub