#!/usr/bin/perl -wT # product_search.cgi use strict; use DBI; use CGI qw(:standard); use lib qw(.); use ShopCart; my ($Data, $prod_sth, $vend_sth, $color); my $Search_String = param('search_for'); my $dbh = DBI->connect("DBI:mysql:book","book","addison") or die "Error: $DBI::errstr\n"; tie $color, 'Colors', qw(ffffff e0e0e0); print header; get_products(); print_output(); sub get_products{ $prod_sth = $dbh->prepare( qq{ SELECT * FROM products WHERE descr LIKE ? ORDER BY name }); $prod_sth->execute("%$Search_String%"); } sub get_vendor{ my $vendor = shift; $vend_sth = $dbh->prepare( qq{ SELECT vname FROM vendors WHERE vend_num = ? }); $vend_sth->execute("$vendor"); } sub print_output{ print < Product Search Results
HTML while($Data = $prod_sth->fetchrow_hashref){ get_vendor($Data->{vend_num}); my $vendor = $vend_sth->fetch->[0]; my $cart_link; if($Data->{stock} > 0){ $cart_link = qq(Add to Cart); } else{ $cart_link = qq(Add to Cart); } my $price = sprintf("%.2f", $Data->{price}); print< HTML } print qq(
Buy Vendor Name Description # in Stock Price
$cart_link $vendor $Data->{name} $Data->{descr} $Data->{stock} $price
); print qq(

Link back to cart); print qq(

); $vend_sth->finish; $prod_sth->finish; $dbh->disconnect; }