Zugriff auf Ergebnis-Hash, Generierung eines "mailto:" -Links

Honny

Grünschnabel
Datenbankabfragen mittels untenstehender Sub-Routine funktionieren tadellos. Eines der Ergebnisfelder heißt "Email". Bei einer Abfrage soll der Inhalt dieses Feldes nun einen mailto-hyperlink enthalten.

# tabellarische Ausgabe der Ergebnismenge
sub tab_out {
use strict;
my $sth = $_[0];
my $align="left";
my (%hash, @keys, $key, $value);
print "<table width=96% border=0 cellpadding='2' cellspacing='2'>";
print "<tr bgcolor=#D0D0D0>";
my $href = $sth->fetchrow_hashref;
%hash = %$href;
# Tabellenkopf
@keys =sort (keys %hash); # Schlüssel sortieren
foreach $key (@keys) {
#Regex entfernt 1: 2: 3: aus $key
$key=~ tr/0-9://d;
print "<th bgcolor='#C0C0C0'><font size='3'><div align='center'>$key</font></div></th>";
}
print "</tr>";
# erste Tabellenzeile
print "<tr>";
@keys =sort (keys %hash); # Schlüssel sortieren
foreach $key (@keys) {
$value = $hash{$key};
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$value</font></div></td>";
}
print "</tr>";
# Tabellenbody Rest
print "<tr>";
while (my $href = $sth->fetchrow_hashref) {
%hash = %$href; # Schlüssel sortieren
@keys =sort (keys %hash);
foreach $key (@keys) {
$value = $hash{$key};
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$value</font></div></td>";
}
print "</tr>";
}
print "</table>";
return 1;
}

Wer kann mir hier weiterhelfen ?
 
Hallo nochmal,

folgendes hab' ich schon erfolglos ausprobiert:

# tabellarische Ausgabe der Ergebnismenge
sub tab_out {
use strict;
my $sth = $_[0];
my $align="left";
my (%hash, @keys, $key, $value);
print "<table width=96% border=0 cellpadding='2' cellspacing='2'>";
print "<tr bgcolor=#D0D0D0>";
my $href = $sth->fetchrow_hashref;
%hash = %$href;
# Tabellenkopf
@keys =sort (keys %hash); # Schlüssel sortieren
foreach $key (@keys) {
#Regex entfernt 1: 2: 3: aus $key
$key=~ tr/0-9://d;
print "<th bgcolor='#C0C0C0'><font size='3'><div align='center'>$key</font></div></th>";
}
print "</tr>";
# Tabellenbody
print "<tr>";
while (my $href = $sth->fetchrow_hashref) {
%hash = %$href; # Schlüssel sortieren
@keys =sort (keys %hash);
foreach $key (@keys) {
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$hash{Fonds}</font></div></td>";
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$hash{Fondstyp}</font></div></td>";
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$hash{Konto}</font></div></td>";
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$hash{Kontakt}</font></div></td>";
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$hash{Telefon}</font></div></td>";
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$hash{Fax}</font></div></td>";
print "<td bgcolor='#E8E8E8'><font size='-1'><div align='$align'>$hash{Email}</font></div></td>";
}
print "</tr>";
}
print "</table>";
return 1;
}

Das Ergebnis war: Es werden lediglich die Tabellenköpfe ausgegeben und sonst nichts. Natürlich müsste man den "Email-print" noch modifizieren. Ich hätte jedoch erwartet, daß wenigstens alle Feldinhalte ausgegeben werden.
Anscheinend hackt es hier irgendwo bei der Parameter-Übergabe.
Was mache ich falsch ???
 

Neue Beiträge

Zurück