sub get_product_table { my $sth = shift; my @row; my @nav_link; my @color; while (my $ref = $sth->fetchrow_hashref ()) { my $serve_url = sprintf ("serve_image.cgi?item_id=%s;picture", escape ($ref->{item_id})); @color = split (/,/, $ref->{color}); # generate a form allowing a quantity of the item to be added # to the cart push (@row, start_form(-method=>'POST', -action=>url()), hidden( -name => "choice", -override => 1, -default => "add" ), hidden( -name => "item_id", -override => 1, -default => escapeHTML($ref->{item_id})), Tr ({-style=>"font-family: verdana; font-size: 10pt;"}, td (img ({-src => $serve_url, -alt => escapeHTML($ref->{item_id})})), td ({-width=>"80", -valign=>"top", -align => "center"}, escapeHTML( $ref->{item_id} )), td ({-width=>"190", -valign=>"top"}, escapeHTML( $ref->{description} ))), td (" "), Tr ({-style=>"font-family: verdana; font-size: 10pt;"}, td ({-colspan => "3", -align => "right", -style=>"font-weight: 700; color:blue;"}, "Price: \$", escapeHTML( sprintf( "%.2f", $ref->{price}))), Tr ({-style=>"font-family: verdana; font-size: 10pt;"}, td ({-colspan => "3", -align => "right"}, "Colors:", popup_menu( -name => "color", -values => \@color))), Tr ({-style=>"font-family: verdana; font-size: 10pt;"}, td ({-colspan => "3", -align => "right"}, "Quantity:", popup_menu( -name => "quantity", -values => ["1", "2", "3", "4", "5", "6", "7", "8", "9"])), td (image_button( -name => "Add Item", -src=>"../images/add.jpg", -border=>"0" )))), Tr ({-valign=>"top"}, td ({-colspan=>"7", -width=>"100%"}, hr)), end_form() ); } $sth->finish (); return undef unless @row; # no items? return (table ({-border => 0, -align => "center", -style=>"font-family: verdana; font-size: 10pt;"}, @row)); }