sub get_product_table { my $sth = shift; my @row; while (my $ref = $sth->fetchrow_hashref ()) { # generate a form allowing a quantity of the item to be added # to the cart push (@row, start_form(-method=>'GET', -action=>url()), hidden( -name => "choice", -override => 1, -default => "add" ), hidden( -name => "item_id", -override => 1, -default => escapeHTML( $ref->{item_id} )), Tr ( td ( escapeHTML( $ref->{item_id} )), td ( escapeHTML( $ref->{description} )), td ( { -align => "right" }, escapeHTML( sprintf( "%.2f", $ref->{price}))), td ( "" ), td ( textfield( -name => "quantity", -size => "2")), td (image_button( -name => "Add Item", -src=>"../images/add.jpg", -border=>"0" ))), end_form() ); } $sth->finish (); return undef unless @row; # no items? unshift (@row, Tr ( # put header row at beginning th ("Item"), th ("Description"), th ("Price"), th (""), th ("Qty"), )); return (table ({-border => 0, -align => "center"}, @row)); } #### push (@row, start_form(-method=>'GET', -action=>url()), hidden( -name => "choice", -override => 1, -default => "update" ), hidden( -name => "item_id", -override => 1, -default => escapeHTML( $item_id )), Tr ( td ( escapeHTML( $item_id )), td ( textfield( -name => "quantity", -size => "2")), td (escapeHTML ($item_ref->{description})), td ({-align => "right"}, escapeHTML (sprintf ("%.2f", $item_ref->{price}))), td ({-align => "right"}, escapeHTML (sprintf ("%.2f", $total_item_price))), ($show_links ? td (a ({-href => $url}, img ({-src => "../images/delete.jpg", -border => "0"}))) : td (" ")), end_form()