#!/usr/bin/perl -wT #sub create_forms { use CGI; use DBI; #Debugging info use diagnostics; BEGIN { $|=1; print "Content-type: text/html\n\n"; use CGI::Carp('fatalsToBrowser'); } $cgi = new CGI; $cgi->header; #DB connection info my $db = 'DBI:mysql:plist:blah; my $username = 'blah'; my $pass = 'blah'; my $dbh = DBI->connect($db, $username, $pass, { RaiseError => 1 }) or die "Error connecting: $DBI::errstr"; my $sql = qq{SELECT `Item Name` FROM Sheet1 WHERE type = ?}; my $sth = $dbh->prepare($sql); #We make a form with popup menus and populate each list #with the item names from the DB $cgi->start_html; $cgi->start_form; $sth->execute(Case); while($info = $sth->fetchrow_hashref) { @case = values %{ $info }; } print "Case

"; $cgi->popup_menu(-name=>'Case' -values=>[@case], -onChange=>"javascript:this.form.submit()"); $sth->execute(Motherboards); while($info = $sth->fetchrow_hashref) { @mobo = values %{ $info }; } print "MotherBoard

"; $cgi->popup_menu(-name=>'mobo' -values=>['SOYO','MSI'], -onChange=>"javascript:this.form.submit()"); $sth->execute(Processors); while($info = $sth->fetchrow_hashref) { @cpu = values %{ $info }; } print "Processor

"; $cgi->popup_menu(-name=>'CPU' -values=>['AMD','Intel'], -onChange=>"javascript:this.form.submit()"); $sth->execute(`Video Cards`); while($info = $sth->fetchrow_hashref) { @vidcard = values %{ $info }; } print "Video Card

"; $cgi->popup_menu(-name=>'videocard' -values=>['nVidia','ATI'], -onChange=>"javascript:this.form.submit()"); $sth->execute(RAM); while($info = $sth->fetchrow_hashref) { @ram = values %{ $info }; } print "RAM

"; $cgi->popup_menu(-name=>'RAM' -values=>['1GB DDR','512MB DDR'], -onChange=>"javascript:this.form.submit()"); $sth->execute(Modems); while($info = $sth->fetchrow_hashref) { @modem = values %{ $info }; } print "Modem

"; $cgi->popup_menu(-name=>'modem' -values=>['Yay a modem lets wardial','Ack unless you mean cable keep it away'], -onChange=>"javascript:this.form.submit()"); $sth->execute(`Network Internet Cards`); while($info = $sth->fetchrow_hashref) { @nic = values %{ $info }; } print "Network Card

"; $cgi->popup_menu(-name=>'NIC' -values=>['Of course','Hell give me two'], -onChange=>"javascript:this.form.submit()"); $sth->execute(`External Sound Devices`); while($info = $sth->fetchrow_hashref) { @speaker = values %{ $info }; } print "Speakers

"; $cgi->popup_menu(-name=>'speakers' -values=>['5.1','I said I dont like sound'], -onChange=>"javascript:this.form.submit()"); $sth->execute(`Hard Drives`); while($info = $sth->fetchrow_hashref) { @hdd = values %{ $info }; } print "Hard Drive

"; $cgi->popup_menu(-name=>'hdd' -values=>['40GB','dont need one just give me lots of floppies'], -onChange=>"javascript:this.form.submit()"); $sth->execute(`3.5 Drive Bay Devices`); while($info = $sth->fetchrow_hashref) { @floppy = values %{ $info }; } print "Floppy Drive

"; $cgi->popup_menu(-name=>'floppy' -values=>['one of those large old ones please','No thanks if it cant boot you guys work on it anyway'], -onChange=>"javascript:this.form.submit()"); $sth->execute(`5.25 Drive Bay Devices`); while($info = $sth->fetchrow_hashref) { @cd1 = values %{ $info }; } print "Drive Bay 1

"; $cgi->popup_menu(-name=>'cd1' -values=>['Whats a drive bay? ','Nothing','DVD Burner'], -onChange=>"javascript:this.form.submit()"); $sth->execute(`5.25 Drive Bay Devices`); while($info = $sth->fetchrow_hashref) { @cd2 = values %{ $info }; } print "Drive Bay 2

"; $cgi->popup_menu(-name=>'cd2' -values=>['nothing in one but i\'ll take something here','Suprise me'], -onChange=>"javascript:this.form.submit()"); $sth->execute(Monitors); while($info = $sth->fetchrow_hashref) { @monitor = values %{ $info }; } print "Monitor

"; $cgi->popup_menu(-name=>'monitor' -values=>['17 inch','none'], -onChange=>"javascript:this.form.submit()"); $cgi->endform; print $cgi->end_html;