#!/usr/bin/perl -wT # example 11-7 use strict; use DBI; use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); my ($Data, $prod_sth, $vend_sth); my $Search_String = param('search_for'); my $Sort_Field = param('sort_by'); my $dbh = DBI->connect("DBI:mysql:book","book","addison") or die "Error: $DBI::errstr\n"; print header; get_products(); print_output(); sub get_products{ my $sql = "SELECT * FROM products WHERE descr LIKE ? ORDER BY ?"; $prod_sth = $dbh->prepare($sql); $prod_sth->execute("%$Search_String%", "$Sort_Field"); } sub get_vendor{ my $vendor = shift; my $sql = "SELECT vname FROM vendors WHERE vend_num = ?"; $vend_sth = $dbh->prepare($sql); $vend_sth->execute("$vendor"); } sub print_output{ print < Example 11-7 Output
HTML while($Data = $prod_sth->fetchrow_hashref){ get_vendor($Data->{vend_num}); my $vendor = $vend_sth->fetch->[0]; print< HTML } print qq(
SKU Vendor Name Description # in Stock Price
$Data->{sku} $vendor $Data->{name} $Data->{descr} $Data->{stock} $Data->{price}
); print qq(Search Again); print qq(
); $dbh->disconnect; }