Ein Gästebuch
Christian S.
- perl
0 Andreas Roth0 R. Potas0 Christian S.
Hallo,
Da ich ein absoluter neuling in sachen Perl bin und gerade dabei bin mir ein Gästebuch zu programmieren, ich aber im Moment ein Problem habe frage ich mal hier nach. Die die bisherigen Forum Einträge (per Suche) konnten mit nicht weiterhelfen...
Das hier ist mein Code mit dem ich die Einträge auslese:
sub anschaun
{
open (DBAUSLESEN,"datenb.db")die "konnte nicht Gefunden werden";
$eintragNr=0;
&kopfzeile;
print "<p> </p>";
print "<center><p>Willkommen auf unserem Gästebuch.<br>Wenn du dich noch nicht eingetragen hast , dann nimm dir doch bitte die Zeit und mach das.</p><p>Alle Bisheriren einträge</p><center>";
&nachz;
while($zeile=<DBAUSLESEN>)
{
$eintragNr++;
@eing=split(/;§/,$zeile);
print "<table width=417 border=1 cellspacing=0 cellpadding=0 bordercolor=#3333FF>";
print "<tr>";
print "<td width=19>$eintragNr.</td>";
print "<td width=208>";
print "<div align=right>eintrag von: </div>";
print "</td>";
print "<td width=182 bgcolor=#330099>$eing[0]</td>";
print "</tr>";
print "<tr>";
print "<td rowspan=4 width=19> </td>";
print "<td width=208 align=right>E-Mail Adresse: </td>";
print "<td width=182 bgcolor=#000000><a href=mailto:$eing[1]>$eing[1]</a></td>";
print "</tr>";
print "<tr>";
print "<td width=208 align=right>Homepage: </td>";
print "<td width=182 bgcolor=#330099><a href=$eing[2] target=_blank>$eing[2]</a></td>";
print "</tr>";
print "<tr>";
print "<td colspan=2> </td>";
print "</tr>";
print "<tr>";
print "<td colspan=2>$eing[3]<br></td>";
print "</tr>";
print "</table>";
print "<br>";
print "<br>";
}&endzeile;
close DBAUSLESEN;
}
Und nun zu meinem Problem, ich will die Ausgabe umgekehrt machen, so das er bei dem enuesten eintrag beginnt. Ich habe es schon auf verschiede arten probiert, aber leider erfolglos.
Wenn mir da jemand helfen könnte wäre ich sehr dankbar.
mfg
Christian S.
am einfachsten, du liest deine Datei in in Array, und drehst dieses mit der Funktion reverse einfach um!
@array = reverse (@array);
Hallo,
Da ich ein absoluter neuling in sachen Perl bin und gerade dabei bin mir ein Gästebuch zu programmieren, ich aber im Moment ein Problem habe frage ich mal hier nach. Die die bisherigen Forum Einträge (per Suche) konnten mit nicht weiterhelfen...
Das hier ist mein Code mit dem ich die Einträge auslese:
sub anschaun
»» {
open (DBAUSLESEN,"datenb.db")die "konnte nicht Gefunden werden";
$eintragNr=0;
&kopfzeile;
print "
</p>";
print "<center>
Willkommen auf unserem Gästebuch.
Wenn du dich noch nicht eingetragen hast , dann nimm dir doch bitte die Zeit und mach das.</p>
Alle Bisheriren einträge</p><center>";
&nachz;while($zeile=<DBAUSLESEN>)
{
$eintragNr++;
@eing=split(/;§/,$zeile);
print "<table width=417 border=1 cellspacing=0 cellpadding=0 bordercolor=#3333FF>";print "<tr>";
print "<td width=19>$eintragNr.</td>";
print "<td width=208>";
print "<div align=right>eintrag von: </div>";
print "</td>";
print "<td width=182 bgcolor=#330099>$eing[0]</td>";
print "</tr>";
print "<tr>";
print "<td rowspan=4 width=19> </td>";
print "<td width=208 align=right>E-Mail Adresse: </td>";
print "<td width=182 bgcolor=#000000><a href=mailto:$eing[1]>$eing[1]</a></td>";
print "</tr>";
print "<tr>";
print "<td width=208 align=right>Homepage: </td>";
print "<td width=182 bgcolor=#330099><a href=$eing[2] target=_blank>$eing[2]</a></td>";
print "</tr>";
print "<tr>";
print "<td colspan=2> </td>";
print "</tr>";
print "<tr>";
print "<td colspan=2>$eing[3]
</td>";
print "</tr>";
print "</table>";
print "
";
print "
";
}&endzeile;
close DBAUSLESEN;
»» }
Und nun zu meinem Problem, ich will die Ausgabe umgekehrt machen, so das er bei dem enuesten eintrag beginnt. Ich habe es schon auf verschiede arten probiert, aber leider erfolglos.
Wenn mir da jemand helfen könnte wäre ich sehr dankbar.
mfg
Christian S.
Bin mir nicht sicher, ob Dir das weiterhilft:
open (DBAUSLESEN,"datenb.db")die "konnte nicht Gefunden werden";
@InData=<DBAUSLESEN>;
close(DBAUSLESEN);
lAnzahl=@InData;
for(lIndex=lAnzahl-1;lIndex>=;lIndex--;)
{
$zeile=@InData[lIndex];
@eing=split(/;§/,$zeile);
.
.
.
}
mfg. R. Potas
Ich habe es bereits auf beide Arten probiert. Aber ohne Erfolg.
Ich denke ich müßte die Grundstrucktur von anfang an neu aufbauen.
Gibt es auch die Möglichkeite die daten so einzulesen das sie sich nicht ans ende der db datei anhängen sondern an den anfang?
also statt
alt
neu
-----
neu
alt
mfg
Christian S.