0

实际上是以下内容的副本:如何使用 Perl 在表格中显示数据

那里接受的答案适用于此。一些替代品也是如此。


我正在尝试从 Perl 程序运行原始数据库查询并向用户显示结果。类似的东西select * from table。我想在 HTML 表格中显示信息。HTML 表中的列与返回的列相对应。

我有一些问题。我可以运行describe table查询以返回表中的列数。但是,我将如何将返回结果中的信息存储到数组中?

因此,如果我要存储这样的结果:

while (($f1, $t2, $n3, $k4, $d5, $e6) = $sth1->fetchrow_array)

在这种情况下,我只知道有四列(我从描述表中得到)。但是这个数字四是动态的,可以根据表名而改变。我不能根据这个数字声明我的变量。有什么建议么?

4

3 回答 3

4

尝试:

print "<table>\n";

# display HTML header
@cols = @{$sth->{NAMES_uc}};
print "<tr>".join("", map { "<th>${_}</th>" } @cols)."</tr>\n";

# display one HTML table row for each DB row
while (my @row = $sth->fetchrow_array) {
  print "<tr>".join("", map { "<td>${_}</td>" } @row)."</tr>\n";
}
print "</table>\n";
于 2009-02-23T06:47:30.893 回答
2
while (my @row = $sth->fetchrow_array)
{
        print "<tr>".join("", map{ "<td>${_}</td>" } @row)."</tr>"  ;
}
于 2009-02-23T06:20:33.487 回答
2

使用另一个问题的答案中建议的技术 - 使用 fetchrow_array 提取到数组中:

while (my @row = $sth->fetchrow_array())
{
    ...process array...
}

或者使用 的替代方法fetchrow_array(),例如fetchrow_hashref()

于 2009-02-23T06:21:41.237 回答