在perl cgi中实现从数据库中选择的值的下拉框

时间:2014-12-09 14:56:57

标签: perl cgi

我正在编写一个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>

1 个答案:

答案 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";
}

但是这种逻辑应该使用模板引擎来实现。