The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

HTML::Widgets::Search - Perl module for building searches returning HTML

SYNOPSIS

    <%perl>
    use HTML::Widgets::Search;
    my $search=HTML::Widgets::Search->new(
               query => "SELECT idCustomer,name               ".
                        " FROM customers WHERE name LIKE 'a%' ".
                        " ORDER BY name                       ",
            field_id => "idCustomer",
               limit => 10,
         form_fields => \%ARGS,
                 dbh => $dbh
    );
    </%perl>

        <% $search->n_found %> customers found
        <% $search->current_start %> to <% $search -> current_end %><BR>

        <% $search->head %>
    <TABLE WIDTH="90%">
        <%perl>
             $search->render_table(
                 link=>"http://www.me.com/show_customer.html"
             );
        </%perl>
    </TABLE>

    <A HREF="search_customer.html<% $search->next %>">next</A>

    <A HREF="search_customer.html<% $search->prev %>">previous</A>

    <% $search->prev(submit => '<INPUT  TYPE="IMAGE" 
                                SRC="/img/prev.gif"  
                                NAME="previous" BORDER=0>')
        %>
    %#################################################################3
    <TABLE>
    % while (my @row=$search->fetchrow) {
        <TR><TD>
            <% join "</TD><TD>", @row %>
        </TD></TR>
    % }
    </TABLE>

DESCRIPTION

    The programmer designs a html form with some field values, then
    you can write a sql query using those fields.


        The constuctor requires a SQL statement and a valid DBI object.

    render_table returns a HTML table with the results , if a link
    is provided every field of the table has that link. If a field_id
        is provided the link adds that field as a parameter. This field
        must be the first field of the select query and is discarded in
        the render.

    Supports native mysql limit clauses. For other DBs skips untill start
    and fetches until limit.

        Give it a try, the synopsis may help you start.
        Let me know if it's useful for or whatever you want to tell me.
        

TODO

    Improve the docs. You can help me !

AUTHOR

Francesc Guasch frankie@etsetb.upc.es

SEE ALSO

perl(1) , DBI.