Ein sehr leistungsfähiges Feature von Embperl ist das Erzeugen von
dynamischen Tabellen. Am einfachsten lassen sich auf diesem Weg
Perlarrays in Tabellen umwandeln (ein- oder zweidimensional, gleich-
und ungleichmäßige), aber auch andere Datenquellen sind möglich.
Anzeigen eines Perlarrays | top |
[- @a = ( 'A', 'B', 'C') ; -]
<TABLE BORDER=1>
<TR>
<TD> [+ $a[$row] +] </TD>
</TR>
</TABLE> Das obige Beispiel gibt einfach eine Tabelle mit drei Zeilen, welche A, B und
C enthalten aus. Der Trick dabei ist die Benutzung der magischen Variable $row, welche die
Zeilennummer innerhalb der Tabelle enthält und automatisch für jede Zeile um
eins erhöht wird. Die Tabelle ist zu Ende, wenn der Block, in dem $row auftaucht,
undef zurückgibt. Das funktioniert auch mit $col für Spalten und $cnt kann
benutzt werden, wenn die Elemente, nach einer bestimmten Anzahl, in die nächste
Reihe rutschen sollen. Dies funktioniert ebenso mit table /select /menu /ol /dl /dir
Einfaches DBI Beispiel | top |
Hier ist ein einfaches DBI Beispiel, welches das Ergebnis einer Anfrage
in einer zwei dimensionalen Tabelle anzeigt, mit den Feldnamen als Überschrift
in der ersten Zeile: [-
# Verbinden mit Datenbank
$dbh = DBI->connect($DSN) ;
# SQL Select vorbereiten
$sth = $dbh -> prepare ("SELECT * from $table") ;
# Datenbankanfrage ausführen
$sth -> execute ;
# $head erhält die Feldnamen für die Tabellenüberschrift
$head = $sth -> {NAME} ;
# $dat erhält die Datensätze
$dat = $sth -> fetchall_arrayref ;
-]
<table>
<tr><th>[+ $head->[$col] +]</th></tr>
<tr><td>[+ $dat -> [$row][$col] +]</td></tr>
</table>
|