Hallo
Will eine Oracle-Tabelle in ein HTML-File (OUT) schreiben. Mit Spaltennamen (dynamisch, weil sich die Tabelle ändert) als Header:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$sth = $dbh->prepare('select * from tabelle');
$sth->execute;
print OUT '<table border=1>';
while ( $rv = $sth->fetchrow_hashref )
{
if ( $i )
{
$i = 0;
print OUT '<tr>';
foreach (keys(%$rv) ) { print OUT '<td>'.$_.'</td>'; }
print OUT '</tr>'."\n";
}
print OUT '<tr>';
foreach (values(%$rv) )
{
print OUT '<td>';
if ( defined($_) )
{
print OUT $_;
}
else
{
print OUT ' ';
}
print OUT '</td>';
}
print OUT '</tr>'."\n";
}
print OUT '</table>';
$sth->finish;
Die Befehle keys und values sortieren den Hash wie dokumentiert:
QuoteThe keys are returned in an apparently random order. The actual random order is subject to change in future versions of perl, but it is guaranteed to be the same order as either the values or each function produces...
Nun möchte ich die Reihenfolge der Spalten unverändert übernehmen und mir diese durch keys und values nicht mischen lassen (sort geht nicht). Ideen?
Gruss mho