如何用Perl在表格中显示数据?

Omn*_*ent 2 perl html-table

我从数据库中获取数据.它有4行6列.我想在HTML表格中显示这个但是遇到了问题.我为6列制作了TH.但是,我在显示4行时遇到了问题.这是我到目前为止:

while (($f1, $t2, $n3, $k4, $d5, $e6) = $sth1->fetchrow_array)
{
        push (@first, $f1);
        push (@second, $t2);
        push (@third, $n3);
        push (@fourth, $k4);
        push (@fifth, $d5);
        push (@sixth, $e6);
}
Run Code Online (Sandbox Code Playgroud)

@ first,@ second ......等等都是数组

如果我这样做,则显示数据:

foreach (@first)
{
        print "<td>$_</td>";
}
Run Code Online (Sandbox Code Playgroud)

这是垂直显示数据,但我想让它水平显示.

dao*_*oad 8

您还可以使用HTML :: Table.

use strict;
use warnings;
use HTML::Table;

my $table = HTML::Table->new( 
    -cols    => 6, 
    -border  => 1,
    -padding => 1,
    -head => [qw( f1 t2 n3 k4 d5 e6 )],
);

# do query here.    

while ( my @row = $sth->fetchrow_array ) {
    $table->addRow(@row);
}

$table->print;
Run Code Online (Sandbox Code Playgroud)


Jon*_*ler 5

问题中的代码是使用Perl的DBI(数据库接口)编写的:

print "<table>\n";
while (($f1, $t2, $n3, $k4, $d5, $e6) = $sth1->fetchrow_array)
{
    print "  <tr>\n";
    print "    <td>$f1</td>\n";
    print "    <td>$t2</td>\n";
    print "    <td>$n3</td>\n";
    print "    <td>$k4</td>\n";
    print "    <td>$d5</td>\n";
    print "    <td>$e6</td>\n";
    print " </tr>\n";
}
print "</table>\n";
Run Code Online (Sandbox Code Playgroud)

或者您可以将行读入数组,然后更简洁地打印数组:

print "<table>\n";
while (my(@row) = $sth1->fetchrow_array)
{
    print "  <tr>\n";
    print "    <td>$val</td>\n" foreach my $val (@row);
    print " </tr>\n";
}
print "</table>\n";
Run Code Online (Sandbox Code Playgroud)