Re: Datumvergleich - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    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

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Jörg (173 Beiträge) am Samstag, 20.Oktober.2001, 11:44.
    Datumvergleich

      Hi!

      Irgendetwas stimmt hier nicht. Ich will das Bearbeitungsdatum (Änderung) mit dem Datum (Erstellung) überprüfen.
      Wenn der Nutzer den Eintrag ändert, soll dies vermerkt werden. Teilweise klappt es auch.
      Jetzt habe ich gesehen, dass bei einigen Einträgen, die ich gemacht habe, gleich das Bearbeitungsdatum mit ausgegeben wird, obwohl gar nicht bearbeitet wurde. Evtl. liegen hier nur Sekunden dazwischen.
      Wer kann mir weiterhelfen?

      Hier der Code:



      if ($Bearbeitungsdatum ne "" && $Bearbeitungsdatum ne $Datum)
          {
          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>";
          }
      

     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

      Tschuldigung wenn ich mich reinhänge...

      Ich hab den Fehler, du arbeitest mit <loop code=perl> oder?
      In loop wird das Datum schon aufbereitet. Um da den richtigen Datenwert zu erhalten, muß du mit $raw arbeiten.
      $verglfeld1=datum($raw{Bearbeitungsdatum}, "Tag0.Monat0.Jahr");
      $verglfeld2=datum($raw{Datum}, "Tag0.Monat0.Jahr");
      

      So sollte es gehen

      Sander

     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

      perfekt ;-)

     Antworten


     
 Liste der Einträge von 55651 bis 55801:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!