Beitrag von Thomas Fedder (333 Beiträge) am Dienstag, 18.Februar.2003, 13:09.
perl code - wo liegt der Fehler
Moin moin,
folgender Code funktioniert nicht.
Wo könnte der Fehler liegen?
<table border=0 cellpadding=2 width="100%">
<loop code=perl db=/veranstaltungen sort=datum,uhrzeit>
if (datum("jetzt","intern") lt datum($_raw{datum},"intern"))
{
if ($cnt % 2 == 0)
{
out "<tr bgcolor=\"#F5DEB3\">";
}else
{
out "<tr bgcolor=\"#FFDAB9\">"
}
out "<td>";
if ($kinderjugend)
{
out <<EOF
<p><b>$datum, $uhrzeit $uhrzeit_ende Uhr, $ort, $titel</b><br>
$text<br>
<a href=\"$link_url\" target=\"$target\">$link_text</a>
EOF
}
out "</p><hr noshade size="5" color="#808000"></td>";
$cnt++;
}
</loop>
</table>
URL der Ausgabeseite:
http://stadtbibliothek.ratingen.de/cgi-bin/baseportal.pl?htx=/kidsbib
Danke für eure Hilfe
Antworten
Beitrag von Mario (33 Beiträge) am Dienstag, 18.Februar.2003, 13:15.
Re: perl code - wo liegt der Fehler
Antworten
Beitrag von Thomas (441 Beiträge) am Dienstag, 18.Februar.2003, 13:25.
Re: perl code - wo liegt der Fehler
Hi,
danke für die schnelle Antwort, doch das wars noch nicht.
Fehlermeldung:
[error (loop): syntax error at (eval 81) line 20, near ""
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 18.Februar.2003, 14:31.
Re: perl code - wo liegt der Fehler
Antworten
Beitrag von Thomas Fedder (333 Beiträge) am Dienstag, 18.Februar.2003, 14:57.
Re: perl code - wo liegt der Fehler
Hallo Sander,
danke für die Hilfe, es klappt.
Jetzt werden aber allerdings offensichtlich alle Daten ausgegeben (bzw. Leerzeilen für die erzeugt, die keine Kinderveranstaltungen $kinderjugend sind.)
Wie müßte der Code ungefähr aussehen, um nur die Kinder und Jugendveransaltungen auszugeben?
Vielen Dank für die super Hilfe!!!
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 18.Februar.2003, 19:09.
Re: perl code - wo liegt der Fehler
<loop code=perl kinderjugend>( datum\>jetzt db=/veranstaltungen sort=datum,uhrzeit>
if ($cnt % 2 == 0)
{
out "<tr bgcolor=\"#F5DEB3\">";
}else
{
out "<tr bgcolor=\"#FFDAB9\">";
}
out <<EOF
<td>
<p><b>$datum, $uhrzeit $uhrzeit_ende Uhr, $ort, $titel</b><br>
$text<br>
<a href=\"$link_url\" target=\"$target\">$link_text</a>
</p><hr noshade size="5" color="#808000"></td>
EOF
$cnt++;
</loop>
</table>
Sander
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 18.Februar.2003, 19:10.
Re: perl code - wo liegt der Fehler
Antworten
Beitrag von Thomas Fedder (333 Beiträge) am Dienstag, 18.Februar.2003, 22:41.
Re: perl code - wo liegt der Fehler
Hi Sander,
also, so soll er lauten?
<html>
<head>
<title>Aktuelle Mitteilungen der Stadtbibliothek Ratingen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.normal { font: 12px Arial, Helvetica, sans-serif}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" scroll="auto">
<font size=+3>V e r a n s t a l t u n g e n :</font></h3>
<table border=0 cellpadding=2 width="100%">
<loop code=perl kinderjugend\>( datum\>jetzt db=/veranstaltungen sort=datum,uhrzeit>
if ($cnt % 2 == 0)
{
out "<tr bgcolor=\"#F5DEB3\">";
}else
{
out "<tr bgcolor=\"#FFDAB9\">";
}
out <<EOF
<td>
<p><b>$datum, $uhrzeit $uhrzeit_ende Uhr, $ort, $titel</b><br>
$text<br>
<a href=\"$link_url\" target=\"$target\">$link_text</a>
</p><hr noshade size="5" color="#808000"></td>
EOF
$cnt++;
</loop>
</table>
Falls ja, es funktioniert nicht.
Internal Server Error
Kann es an Einstellungen beim Provider liegen?
Danke für deine Suer Hilfe
ciao
TF
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 19.Februar.2003, 00:04.
Re: perl code - wo liegt der Fehler
hier is noch ein fehler:
out <<EOF;
<td>
<p><b>$datum, $uhrzeit $uhrzeit_ende Uhr, $ort, $titel</b><br>
$text<br>
<a href=\"$link_url\" target=\"$target\">$link_text</a>
</p><hr noshade size="5" color="#808000"></td>
EOF
; hinter dem ersten EOF fehlte
Sander
Antworten
Beitrag von Thomas Fedder (333 Beiträge) am Mittwoch, 19.Februar.2003, 10:20.
Re: perl code - wo liegt der Fehler
Hi Sander,
danke für die Antwort.
Leider läuft es immer noch nicht.
Hier nochmal der komplette Code:
<table border=0 cellpadding=2 width="100%">
<loop code=perl kinderjugend\>( datum\>jetzt db=/veranstaltungen sort=datum,uhrzeit>
if ($cnt % 2 == 0)
{
out "<tr bgcolor=\"#F5DEB3\">";
}else
{
out "<tr bgcolor=\"#FFDAB9\">";
}
out <<EOF;
<td>
<p><b>$datum, $uhrzeit $uhrzeit_ende Uhr, $ort, $titel</b><br>
$text<br>
<a href=\"$link_url\" target=\"$target\">$link_text</a>
</p><hr noshade size="5" color="#808000"></td>
EOF
$cnt++;
</loop>
</table>
Danke für weitere Ideen.
ciao
TF
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 19.Februar.2003, 10:49.
Re: perl code - wo liegt der Fehler
kommt fehlermeldung oder internal server error?
Sander
Antworten
Beitrag von Thomas Fedder (333 Beiträge) am Mittwoch, 19.Februar.2003, 11:01.
Re: perl code - wo liegt der Fehler
Letzteres, internal Server Error
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 24.Februar.2003, 13:39.
Re: perl code - wo liegt der Fehler
Hier:
<loop code=perl kinderjugend\>( datum\>jetzt db=/veranstaltungen sort=datum,uhrzeit>
ist die Klammer auf (vor datum) zuviel und der Slash vor veranstaltungen, so is besser:
<loop code=perl kinderjugend\> datum\>jetzt db=veranstaltungen sort=datum,uhrzeit>
(wenn "veranstaltungen" im selben verzeichnis liegt).
Die Backslashes innerhalb des EOF brauchste nicht:
<a href=\"$link_url\" target=\"$target\">
ohne geht auch:
<a href="$link_url" target="$target">
;-)
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 24.Februar.2003, 14:37.
Re: perl code - wo liegt der Fehler
seit wann geht größer<nichts> zu holen?
das ist ein kleiner workaround um felder die nicht leer sind zu finden, deshalb muß die klammer( da hin :-)
Sander
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 24.Februar.2003, 15:21.
Re: perl code - wo liegt der Fehler
Achso... Da muss man erstmal draufkommen ;-) War mir neu... ;-))
Ist ( denn das kleinste Zeichen im ASCII-Code? Und müsste es dann nicht >= heissen?
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 24.Februar.2003, 15:59.
Re: perl code - wo liegt der Fehler
ne, das kleinste zeichen nicht, aber so ziemlich eins der ersten. bei ihm war ja checkbox-abfrage - entweder 1 oder NULL, da kann man die Klammer schon mal nehmen ;-))
Sander
Antworten