MySQL操作程序二十六(mscshowtype1.pl)
返回
修改TYPE的关联程序
- mscdatabase.htm的修改(mscenq1.htm中COPY)
- 修改mscshowtype1.pl程序(mscs_engine.pl中COPY),首先是没有输入任何内容时的返回
- 输入内容时的画面(保存中间数据),利用enq1list的enq1s3和enq1s3_word
- 修改完后,返回msc261.htm(注意利用中间数据),msc262.htm的返回部分
- msc262.htm修改,mscupdate.pl,msc263.htm/msc263_2.htm修改
sub mscshowtype1 {
my $self = shift;
my(%t,$n,@arr,@arr1,@loop,@rec);
# Get CGI query object
$t{q} = $self->query();
# データベースにアクセス
$t{table} = $t{q}->param("table");
$t{mode} = $t{q}->param("mode");
@loop = ();
if ( $t{mode} eq 'SEARCH') {
$t{word} = $t{q}->param("word1");
$t{word} = lc($t{word});
@{ $t{list_id} } = ();
$t{NO} = 0;
if ( $t{word} ) {
$t{sth} = $self->dbh->prepare("SELECT id,name,gname_id,maker_id FROM $t{table}");
$t{sth}->execute;
while ( @rec = $t{sth}->fetchrow_array ) {
$t{name} = lc($rec[1]);
if ( $t{name} =~ /$t{word}/ ) {
my $row_ref = (); # この初期化はとても重要!
$$row_ref{id} = $rec[0];
$$row_ref{name} = $rec[1];
$$row_ref{gname_id} = $rec[2];
$$row_ref{maker_id} = $rec[3];
push(@loop, $row_ref);
$t{NO}++;
push(@{ $t{list_id} },$rec[0]);
}
}
$t{sth}->finish;
}
$t{template} = $self->load_tmpl("msc261.htm") || die "error loading tmpl";
if ( $t{NO} == 0 ) {
$t{template}->param(explain => "没有找到,请返回。");
} else {
$t{enq1s3} = join('=',@{ $t{list_id} });
$t{sql1} = 'UPDATE enq1list set enq1s3 = "';
$t{sql1} .= $t{enq1s3} . '" where id = "1"';
$t{DO1} = $self->dbh->do($t{sql1});
$t{word1} = uc($t{word1});
$t{sql1} = 'UPDATE enq1list set enq1s3_word = "';
$t{sql1} .= $t{word} . '" where id = "1"';
$t{DO1} = $self->dbh->do($t{sql1});
$t{template}->param(explain => "找到了如下的TYPE,请选择修改。");
$t{template}->param(THIS_LOOP => \@loop);
}
} else {
$t{enq1s3} = $self->dbh->selectrow_array("SELECT enq1s3 FROM enq1list WHERE enq1s3 != 'NO'");
@{ $t{type1s} } = split(/=/,$t{enq1s3});
for $n ( 0 .. $#{ $t{type1s} } ) {
$t{e1_id} = $t{type1s}[$n];
@rec = $self->dbh->selectrow_array("SELECT id,name,gname_id,maker_id FROM main_type1 WHERE id = $t{e1_id}");
my $row_ref = (); # この初期化はとても重要!
$$row_ref{id} = $rec[0];
$$row_ref{name} = $rec[1];
$$row_ref{gname_id} = $rec[2];
$$row_ref{maker_id} = $rec[3];
push(@loop, $row_ref);
}
$t{template} = $self->load_tmpl("msc261.htm") || die "error loading tmpl";
$t{template}->param(THIS_LOOP => \@loop);
}
return $t{template}->output;
}
-------------------------------------------------------------
利用enq1list的enq1s3和enq1s3_word
$t{enq1s3} = join('=',@{ $t{list_id} });
$t{sql1} = 'UPDATE enq1list set enq1s3 = "';
$t{sql1} .= $t{enq1s3} . '" where id = "1"';
$t{DO1} = $self->dbh->do($t{sql1});
$t{word1} = uc($t{word1});
$t{sql1} = 'UPDATE enq1list set enq1s3_word = "';
$t{sql1} .= $t{word} . '" where id = "1"';
$t{DO1} = $self->dbh->do($t{sql1});
------------------------------------------------------------
新
旧
返回