Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re^2: HTML Pager

by JimJx (Beadle)
on Aug 22, 2007 at 12:36 UTC ( [id://634324]=note: print w/replies, xml ) Need Help??


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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://634324]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (9)
As of 2024-04-24 07:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found