Hallo,
bin vor ein neues Problem gestoßen:
Habe immer noch eine MySQL-Datenbank mit 5 Spalten:
name - hersteller - datum - sonstiges - id
Mit Perl gebe ich die Zeileninhalte tabellarisch aus, das mache ich so:
---------------------------------------------------
$q = "SELECT name AS '1:Name', hersteller AS '2:Hersteller', datum AS '3:Datum', sonstiges AS '4:Sonstiges' FROM film";
$sth = $dbh->prepare($q);
$sth->execute;
$zeile = 1;
my (%hash, @keys, $key, $value);
print "<table width=96% border=0 cellpadding='2' cellspacing='2'>";
print "<tr bgcolor=#D0D0D0>";
print "<th bgcolor='#C0C0C0'>Nr.</th>";
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'>$key</font></th>";
}
print "</tr>";
erste Tabellenzeile
print "<tr>";
print "<td bgcolor='#E8E8E8'>$zeile</td>";
$zeile++;
@keys =sort (keys %hash); # Schlüssel sortieren
foreach $key (@keys) {
$value = $hash{$key};
print "<td bgcolor='#E8E8E8'><font size='-1'>$value</font></td>";
}
print "</tr>";
Tabellenbody Rest
print "<tr>";
while (my $href = $sth->fetchrow_hashref) {
%hash = %$href; # Schlüssel sortieren
@keys =sort (keys %hash);
print "<td bgcolor='#E8E8E8'>$zeile</td>";
foreach $key (@keys) {
$value = $hash{$key};
print "<td bgcolor='#E8E8E8'><font size='-1'>$value</font></td>";
}
print "</tr>";
$zeile++;
}
print "</table>";
---------------------------------------------------
Nun möchte ich bei der Spalte "Namen" einen dynamischen Link erzeugen. Also jeder Name hat einen eigenen Link. Für den Link benötige ich den Inhalt der bestimmten Zelle "Namen". Dann soll natürlich auch zwischen <A href="..."> und </A> der Namen ausgegeben werden.
Beispiel:
- Name sei "Testname"
Ausgabe: - <A href="http://www.link.de/search.pl?string=Testname">Testname</A>
der Rest der Tabelle soll unverändert bleiben.
Wie mache ich das?
MfG Christian Bliß