aus:
while (my @data = $sth->fetchrow_array()) {
print sprintf(qq~<TR>\n<TD><B>%s</B></TD>
<TD>%s</TD>
<TD>%s</TD>
<TD><B>%s</B></TD>
<TD>%s</TD>\n</TR>~,@data);
}
Das hier:
while (my @data = $sth->fetchrow_array()) {
print sprintf(qq~<TR>\n<TD><B>%s</B></TD>
<TD>%s</TD>
<TD>%s</TD>
<TD><B>%s</B></TD>
<TD><a href="rechnung.cgi?id=%s" target="_blank">%s</a></TD>\n</TR>~,@data[0..3,1,4]);
}
Und dann rechnung.cgi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use DBI;
my $cgi = CGI->new();
my %params = $cgi->Vars();
my $dbh = DBI->connect('DBI:ODBC:driver=Microsoft Access-Treiber (*.mdb); dbq=Kunden.mdb') or die $DBI::errstr;
my $stmt = "SELECT Name, Adresse, Rechnungsbetrag FROM Tabelle1 WHERE Kundennummer = ?";
my $sth = $dbh->prepare($stmt) or die $dbh->errstr();
$sth->execute($params{id});
my %hash;
@hash{qw/Name Adresse Rechnungsbetrag} = $sth->fetchrow_array();
print qq~Content-type: text/plain
Content-Disposition: attachment; filename=$params{id}.txt
~;
print sprintf("%-20s %s",$_,$hash{$_}) for(keys %hash);;