Beitrag von Jörg (173 Beiträge) am Samstag, 20.Oktober.2001, 11:44.
Datumvergleich
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Samstag, 20.Oktober.2001, 12:26. WWW: planet-gaga.de
Re: Datumvergleich
hallo jörg!
also so wie ich deinen codeschnipsel interpretiere gibt er entsprechend aus wenn bearbeitungsdatum nicht leer und bearbeitungsdatum nicht datum ist.
ich vermute du hast in deinen vergleichsfelder nicht nur datum sondern auch nocht die zeit mit drin, kann das sein? wenn das so ist dann musst du dir das datum extrahieren und dann vergleichen. $verglfeld1=datum($Bearbeitungsdatum,"Tag0.Monat0.Jahr") bzw. verglfeld2=datum($Datum,"Tag0.Monat0,Jahr") vor dem vergleich machen und dann mit den vergleichsfeldern vergleichen damit du wirklich nur das datum in den feldern hast.
hoffe es lag daran.
gruss sascha fitzner
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Samstag, 20.Oktober.2001, 13:11. WWW: planet-gaga.de
Re: Datumvergleich
hallo jörg!
also so wie ich deinen codeschnipsel interpretiere gibt er entsprechend aus wenn bearbeitungsdatum nicht leer und bearbeitungsdatum nicht datum ist.
ich vermute du hast in deinen vergleichsfelder nicht nur datum sondern auch nocht die zeit mit drin, kann das sein? wenn das so ist dann musst du dir das datum extrahieren und dann vergleichen. $verglfeld1=datum($Bearbeitungsdatum,"Tag0.Monat0.Jahr") bzw. verglfeld2=datum($Datum,"Tag0.Monat0,Jahr") vor dem vergleich machen und dann mit den vergleichsfeldern vergleichen damit du wirklich nur das datum in den feldern hast.
hoffe es lag daran.
gruss sascha fitzner
Antworten
Beitrag von Jörg (173 Beiträge) am Samstag, 20.Oktober.2001, 14:04.
Re: Datumvergleich
Hi Sascha!
Vielen Dank erst einmal!
Ich hab's so eingegeben:
$verglfeld1=datum($Bearbeitungsdatum, "Tag0.Monat0.Jahr");
$verglfeld2=datum($Datum, "Tag0.Monat0.Jahr");
if ($verglfeld1 ne $verglfeld2)
{
out " <p>";
out " <i><center><font size=-2 color=d80000><b>letzte Korrektur am $Bearbeitungsdatum</b></center></i><br>";
out " </p>";
} else {
out " <b></b>";
}
out " </font>";
out " </td>";
out " </tr>";
out " </table>";
out "</p>";
Allerdings zeigt er mir nun überhaupt kein Bearbeitungsdatum mehr an. Hab ich was falsch gemacht?
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Sonntag, 21.Oktober.2001, 11:39. WWW: planet-gaga.de
Re: Datumvergleich
$verglfeld1=datum($Bearbeitungsdatum, "Tag0.Monat0.Jahr");
$verglfeld2=datum($Datum, "Tag0.Monat0.Jahr");
out "a",$verglfeld1,"e<br>";
out "a",$verglfeld2,"e<br>";
if ($verglfeld1 ne $verglfeld2)
{
.....
lass dir mal die feldinhalte ausgeben und schau mal ob das wirklich die inhalte sind die du erwartest.
das "a" und "e" wird mit ausgegeben um zu schauen ob gegebenenfalls führende oder anhängende leerzeichen vorhanden sind.
gruss sascha fitzner
Antworten
Beitrag von Jörg (173 Beiträge) am Sonntag, 21.Oktober.2001, 12:04.
Re: Datumvergleich
Nein, es ist nicht der Feldinhalt, den ich erwartet habe
Folgendes erscheint:
a00.00.0e
a00.00.0e
????
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Sonntag, 21.Oktober.2001, 12:26. WWW: planet-gaga.de
Re: Datumvergleich
out "a",$Bearbeitungsdatum,"e<br>";
out "a",$Datum,"e<br>";
$verglfeld1=datum($Bearbeitungsdatum, "Tag0.Monat0.Jahr");
$verglfeld2=datum($Datum, "Tag0.Monat0.Jahr");
....
dann lass dir mal deine ursprungsfelder anzeigen und schau ob du dort überhaupt ein datumsformat drin hast, ansonsten kann es sein das die funktion datum nicht richtig aufbereiten kann.
gruss sascha fitzner
Antworten
Beitrag von Jörg (173 Beiträge) am Sonntag, 21.Oktober.2001, 12:32.
Re: Datumvergleich
Die sehen so aus:
aSamstag, 20.Oktober.2001, 14:17e
aSamstag, 20.Oktober.2001, 14:17e
Vielen Dank übrigens für Deine Hilfe!
Jörg :-))
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 21.Oktober.2001, 13:58.
Re: Datumvergleich
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Sonntag, 21.Oktober.2001, 14:11. WWW: planet-gaga.de
Re: Datumvergleich
für was den tschuldigung?
ziel ist doch jörg weiterzuhelfen und wenn dein tipp klappt ist es doch nur umso besser.
gruss sascha fitzner
Antworten
Beitrag von Jörg (173 Beiträge) am Sonntag, 21.Oktober.2001, 14:27.
Re: Datumvergleich
Hallo Sander!
Auch Dir ein Danke schön!
Aber irgendwie will es nicht so richtig!
$NeuBearbeitungsdatum=datum($raw{Bearbeitungsdatum},"Tag0.Monat0.Jahr.Stunde");
$NeuDatum=datum($raw{Datum},"Tag0.Monat0.Jahr.Stunde");
if ($NeuBearbeitungsdatum ne $NeuDatum)
{
out " <p>";
out " <i><center><font size=-2 color=d80000><b>letzte Korrektur am $NeuBearbeitungsdatum</b></center></i><br>";
out " </p>";
} else {
out " <b></b>";
}
out " </font>";
out " </td>";
out " </tr>";
out " </table>";
out "</p>";
Es werden immer die GLEICHEN Werte ausgegeben.
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Sonntag, 21.Oktober.2001, 14:41. WWW: planet-gaga.de
Re: Datumvergleich
immer die gleichen daten?
jetzt aber dann in form von tt.mm.jjjj.stunde oder?
willst du die stunde mit vergleichen?
was hast du jetzt vor dem if in deinen variablen?
sinnvolle werte oder immer noch 00.00....?
kann es sein das du mit deinen variablen vielleicht durcheinander gekommen bist? das du irgendwo eine zuordnung in deinem script hast wo du die variablen gleichsetzt?
such mal in deinem script nach den variablennamen und schliess mal aus das du dir die inhalte aus versehen platt machst.
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 21.Oktober.2001, 14:56.
Re: Datumvergleich
gib mal bitte den namen mit Pfad der db an und die db frei. Dann kann ich mal testen.
Und poste mal ein bischen mehr code.
Sander
Antworten
Beitrag von Jörg (173 Beiträge) am Sonntag, 21.Oktober.2001, 15:14.
Re: Datumvergleich
Hi Sander!
Hier der Pfad:
/kjo/profil/book
der Name:
guestbook
die Seite:
http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/kjo/profil/book/view
Und hier der Quellcode der Seite:
<html>
<head>
<title>Gästebuch</title>
</head>
<BODY BGCOLOR="#FFFF00" LINK="#0000FF" VLINK="#990000" TEXT="#000000" TOPMARGIN=2 LEFTMARGIN=2 MARGINWIDTH=2 MARGINHEIGHT=2>
<font size=2 face="arial">
<font size=-1><b><loop db=guestbook Nr==$gbnr range=0,1>$_amount_query</loop></b> Einträge<br>
<loop sort=-Id convert_html=Name,Text code=perl range^=0,50 db=guestbook Nr==$gbnr>
my $www=$WWW; $www=~ s#^http://##;
out "<p>";
out " <table width=75% align=center>";
out " <tr>";
out " <td bgcolor=#c0c0c0>";
out " <font size=-1>";
if ($Icon ne "") {
out " <img src=\"http://www.kjo-online.de/bilder/forum/$Icon.gif\"> ";
}
out " Eintrag von ";
if ($EMail ne "") {
out " <a href=\"mailto:$EMail\"><b>$Name</b></a>";
} else {
out " <b>$Name </b>";
}
if ($www ne "") {
out " [<a href=\"http://$www\" target=\"_blank\">Homepage</a>] ";
}
out " <b>No $Hausnummer</b>";
out " am $Datum";
out " </font>";
out " </td>";
out " </tr>";
out " <tr>";
out " <td>";
out " <font size=-1>";
out convert_br " $Text";
if ($Kommentar ne "") {
out " <p>";
out " <i><font size=-2 color=d80000><b>Kommentar:</b></i><br>";
out " <font size=-1>$Kommentar";
out " </p>";
}
$NeuBearbeitungsdatum=datum($raw{Bearbeitungsdatum},"Tag0.Monat0.Jahr.Stunde");
$NeuDatum=datum($raw{Datum},"Tag0.Monat0.Jahr.Stunde");
if ($NeuBearbeitungsdatum ne $NeuDatum)
{
out " <p>";
out " <i><center><font size=-2 color=d80000><b>letzte Korrektur am $NeuBearbeitungsdatum</b></center></i><br>";
out " </p>";
} else {
out " <b></b>";
}
out " </font>";
out " </td>";
out " </tr>";
out " </table>";
out "</p>";
</loop>
Vielen Dank im voraus!
Jörg
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 21.Oktober.2001, 16:02.
Re: Datumvergleich
o mann, es ist nicht $raw{..} sondern $_raw{..}
Dann klappt es auch :-)
Sander
Antworten
Beitrag von Jörg (173 Beiträge) am Sonntag, 21.Oktober.2001, 16:57.
Dank, Danke, Danke!!!!!!
Es hat geklappt!
:-)) Jörg@glücklich.de
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Sonntag, 21.Oktober.2001, 19:53. WWW: planet-gaga.de
Re: Datumvergleich
hi Sander!
wenn du mir jetzt mal erläutern könntest was der $_raw eigentlich macht wäre auch ich glücklich. habe ihn noch nirgends genutzt und wüsste auch nichts mit anzufangen.
gruss sascha fitzner
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 21.Oktober.2001, 23:07.
Re: Datumvergleich
bei loop und do action werden die werte erst gefiltert (ins angegebene Ausgabeformat gebracht) und dann geschrieben. Wenn du dann was anderes als das definierte Format brauchst, mußt du den Rohinhalt des Feldes nehmen und dieser ist in %_raw. datum($datum,..) funzt sonst nicht mehr. Bei get hast du die Werte immer roh.
Ich hoffe, ich hab das jetzt richtig von Christoph übersetzt ;-)
Sander
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 21.Oktober.2001, 23:14.
Re: Datumvergleich
noch ein kleines Beispiel:
Emailfeld gibt bei loop gleich <a href..>..</a> mit aus, bei $_raw{...} steht nur die Mailadresse drin.
Sander
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Montag, 22.Oktober.2001, 11:30. WWW: planet-gaga.de
Re: Datumvergleich - Danke@Sander
Hi Sander.
ich habe es wohl bislang noch nicht gebraucht weil ich eigentlich immer mit get/getnext gearbeitet und den loop noch nie genutzt habe. bin deswegen vermutlich immer drumherum gekommen. danke für deine erläuterung.
Sascha Fitzner
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 22.Oktober.2001, 14:32.
Re: Datumvergleich
Antworten