我正在编写一个cgi脚本来显示一个表单,该表单显示给定id的数据库结果,并允许用户进行更改和提交。
EG。 select * from insp_gang where id = 1;
表单中的文本字段很少,显示上表的结果。 现在我必须从select查询中为列s1_q1实现一个下拉框。 它可以有3个值。 (完全,部分中,否)
默认情况下,下拉列表应显示查询为此ID返回的当前值。 同时,用户可能能够更改它。
我该怎么做?
我的cgi脚本中的html块中有以下代码。 $job->{s1_q2}
是具有数据库值的变量。
<tr><td><b> s1_q2 </b></td><td>
<select name="s1_q2">
<option value="Full">Full</option>
<option value="Part">Part</option>
<option value="No">No</option>
<option value="N/A">N/A</option>
</select>
</td></tr>
答案 0 :(得分:0)
基本方法是在循环中创建选项,并在循环的每次迭代中检查当前值。
my @values = qw[Full Part No N/A];
foreach my $value (@values) {
print qq[ <option value="$value"];
print ' selected' if $value eq $job->{s1_q2};
print qq[">$value</option>\n";
}
但是这种逻辑应该使用模板引擎来实现。