名前を検索する
&searchform というサブルーチン処理をすることで
フォームに値が入力された場合に
テーブル処理がはじまることになります
db1.cgi とします
#!D:/xampp/perl/bin/perl (Cドライブの人は Cに変えてね)
#!D:/xampp/perl/bin/perl use CGI; use DBI; use utf8; $q = new CGI; print $q->header(-type =>'text/html',-charset => 'utf-8'), $q->start_html(-title=>"Database Form"), $q->h1(' 名前で検索してみましょう'), $q->start_form, $q->textfield(-name=>'name'), $q->reset, $q->submit(-name =>'Action', -value =>'送信'), $q->submit(-name =>'Action', -value =>'Scream'); $q->end_form; if($q ->param('name')){ &searchform;} sub searchform{ $dbname = "trinity777"; $user = "root"; $passwd = "あなたの決めたパスワードにしてね"; $tbname = "cgipm"; $host = "localhost"; $myname=$q ->param('name'); # DBに接続 $dbh=DBI->connect("DBI:mysql:$dbname; host=$host", $user, $passwd) or die $DBI::errstr; $dbh->do("SET NAMES utf8"); # SQL実行 $sth = $dbh->prepare(" SELECT * FROM $tbname WHERE name = '$myname' "); if(!$sth->execute){print "SQL失敗\n";exit;} print $q->start_table({-border=>1}), $q->start_Tr, $q->th(['id', 'mtime','name','email','subject', 'comments','uploaded_file']); while (@rec = $sth->fetchrow_array()) { print $q->start_Tr, $q->td([$rec[0],$rec[1],$rec[2],$rec[3],$rec[4],$rec[5],$rec[6]]); } # ステートメントハンドルクリア $sth->finish; # DB切断 $dbh->disconnect;} print $q->end_html;