I use CGI to generate web page, and DBI to deal with my database tables. Lots of time, I need to dump the result selected from database table to a HTML table. I thought why not to wrap the code in a sub.

To use it, do something like:

$msg .= $cgi->table({-border => 1, bgcolor => $c1, style => "Color +: $c2;"}, $cgi->Tr(form_table_data($select_msg, 20, $user, $user)));

parameter 1 is the prepared statement, parameter 2 is the max number of rows you want to select and display. The rest parameter(s) will be passed to execute the prepared statement.

sub form_table_data { my ($statement, $max_number_of_rows, @parameters) = @_; $statement->execute(@parameters); my $rows = $statement->fetchall_arrayref(undef, $max_number_of_row +s); my $table_data = []; push @$table_data, $cgi->td($rows->[$_]) for (0 .. $#$rows); return $table_data; }

Replies are listed 'Best First'.
Re: feed CGI table from DBI fetch
by jdtoronto (Prior) on Jan 15, 2004 at 16:49 UTC