CGI プログラム9
戻る
#!C:/perl/bin/perl
######################################
# test_idname.pl
######################################
use strict;
use DBI;
use CGI qw/:standard/;
use HTML::Template;
my ( $dsn, $dbh, $sth, $no );
my ( %t, @fld, $sql, @rec, @rows, @rowsa, @rowsb );
my $template = HTML::Template->new(filename => 'test_idname.htm');
# send the obligatory Content-Type and print the template output
print $template->output;
test_idname
test_idname
http://localhost/index.html
main_type1==>
------------------------------------------------------------------------------
#!C:/perl/bin/perl
######################################
# test_idname2.pl
######################################
use strict;
use CGI qw/:standard/;
use HTML::Template;
my ( %t, @loop, $n, @rec );
$t{q} = new CGI;
$t{NO} = $t{q}->param("NO");
$t{template} = HTML::Template->new(filename => 'test_idname2.htm');
for $n ( 1 .. 10 ) {
$t{Name} = 'OK' . $n;
if ( $t{NO} == $n ) {
$t{$t{Name}} = 1;
} else {
$t{$t{Name}} = 0;
}
$t{template}->param($t{Name} => $t{$t{Name}});
}
$t{template}->param(NO => $t{NO});
# send the obligatory Content-Type and print the template output
print $t{template}->output;
test_idname2
test_idname2
http://localhost/index.html
NO==>
OK1=>
OK2=>
OK3=>
OK4=>
OK5=>
OK6=>
OK7=>
OK8=>
OK9=>
OK10=>
--------------->
主機タイプは1個である。
主機タイプは2個である。
主機タイプは3個である。
主機タイプは4個である。
主機タイプは5個である。
主機タイプは6個である。
主機タイプは7個である。
主機タイプは8個である。
主機タイプは9個である。
主機タイプは10個である。
------------------------------------------------------------------------------
#!C:/perl/bin/perl
######################################
# test_idname3.pl
######################################
use strict;
use DBI;
use CGI qw/:standard/;
use HTML::Template;
my ( %t, @loop, $n, @rec );
$t{q} = new CGI;
$t{Keyword} = $t{q}->param("Keyword");
# データベース
$t{dsn} = "DBI:mysql:host=localhost;database=cookbook";
$t{dbh} = DBI->connect($t{dsn}, "cbuser", "cbpass") or die "Cannot connect to server\n";
$t{dbh}->do("SET NAMES utf8");
if(!$t{dbh}){
print "SQL read ERROR!\n";
exit;
}
$t{sth} = $t{dbh}->prepare("select id,name from main_type1");
$t{sth}->execute;
@{ $t{list} } = ();
$t{NO}=0;
while (@rec = $t{sth}->fetchrow_array) {
$t{name1} = lc($rec[1]);
$t{Keyword1} = lc($t{Keyword});
if ( $t{name1} =~ /$t{Keyword1}/ ) {
push(@{ $t{ids} },$rec[0]);
push(@{ $t{list} },$rec[1]);
$t{NO}++;
}
}
$t{sth}->finish;
$t{dbh}->disconnect;
$t{template} = HTML::Template->new(filename => 'test_idname3.htm');
@loop = (); # initialize an array to hold your loop
if ( $t{NO} >= 1 ) {
for $n ( 0 .. $#{ $t{list} } ) {
$t{list1} = $t{list}[$n];
$t{id1} = $t{ids}[$n];
my %row = (
id => $t{id1},
list => $t{list1}
);
# put this row into the loop by reference
push(@loop, \%row);
}
$t{explain} = 'Please select one';
} else {
$t{explain} = 'NO RESULTS. Return';
}
$t{template}->param(Keyword => $t{Keyword});
$t{template}->param(explain => $t{explain});
$t{template}->param(THIS_LOOP => \@loop);
# send the obligatory Content-Type and print the template output
print $t{template}->output;
test_idname3
test_idname3
http://localhost/index.html
Keyword==>
Result==>
------------------------------------------------------------------------------
#!C:/perl/bin/perl
######################################
# test_idname4.pl
######################################
use strict;
use CGI qw/:standard/;
use HTML::Template;
my ( %t );
$t{q} = new CGI;
$t{type1} = $t{q}->param("SEL1");
$t{template} = HTML::Template->new(filename => 'test_idname.htm');
$t{template}->param(type1 => $t{type1});
# send the obligatory Content-Type and print the template output
print $t{template}->output;
------------------------------------------------------------------------------
戻る