Leider nein ... - 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 Helmut Meisl (119 Beiträge) am Dienstag, 29.März.2016, 17:12.
    Leider nein ...

      ... ohne raw bekomme ich als Ausgabewert 0.0.00.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Helmut Meisl (119 Beiträge) am Dienstag, 29.März.2016, 15:58.
    Problem Datumsausgabe

      Ich berechne in einer Perl-Routine verschiedene Werte. Die letzten 11 Werte möchte ich ausgeben. Das funktioniert alles soweit perfekt. Nur bei der Ausgabe des Datums spießt es sich.
      Die Datumwerte sind in den Variablen $DT1, $DT2, $DT3 .... abgespeichert.
      Wenn ich die Werte ohne Formatierung ausgebe, ist das ausgegebene Datum richtig.
      Wenn ich aber vor der Ausgabe die Werte formatieren will, bekomme ich im der Ausgabe immer nur mehr das letzte Datum in dem von mir gewünschten Format.
      Was mache ich falsch?

      Der Perl-Code vor der Ausgabe:

      <perl>
      $DT10 = datum($_raw{$DT10},"Tag0.Monat0.Jahr");
      $DT9 = datum($_raw{$DT9},"Tag0.Monat0.Jahr");
      $DT8 = datum($_raw{$DT8},"Tag0.Monat0.Jahr");
      
      .....
      </perl>

      Warum beinhalten in der Ausgabe alle Datumsfelder $DT10 bis $DT1 immer nur mehr das letzte Datum?
      Vor dem umwandeln / formatieren stimmt die Ausgabe.

      Wäre schön, wenn wieder ein baseportal-Profi einen Tipp für mich hätte!

      DANKE!

     Antworten

    Beitrag von richard (1187 Beiträge) am Dienstag, 29.März.2016, 16:52.
    Re: Problem Datumsausgabe

      Eventuell gehts so:

      $DT10 = datum($DT10,"Tag0.Monat0.Jahr");
      

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Dienstag, 29.März.2016, 17:12.
    Leider nein ...

      ... ohne raw bekomme ich als Ausgabewert 0.0.00.

     Antworten

    Beitrag von richard (1187 Beiträge) am Dienstag, 29.März.2016, 17:46.
    Re: Leider nein ...

      Dann mußt Du mal zeigen, was in Deinen Variablen vor und nach der Umwandlung tatsächlich drinsteht - ausgeben lassen und hier posten. Am besten für mindestens 2, also z.Bsp. für $DT10 und $DT9.

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Dienstag, 29.März.2016, 17:52.
    Gerne ...

      Das ist der Beispielscode:

      out "Variable DT11 vorher: ". $DT11."<br>";
      $DT11 = datum($_raw{$DT11},"Tag0.Monat0.Jahr");
      out "Variable DT11 nachher: ".$DT11."<br>";
      out "Variable DT10 vorher: ".$DT10."<br>";
      $DT10 = datum($_raw{$DT10},"Tag0.Monat0.Jahr");
      out "Variable DT10 nachher: ".$DT10."<br>";
      </perl>
      

      Und das die daraus resultierende Ausgabe:

      Variable DT11 vorher: Samstag, 19.März.2016
      Variable DT11 nachher: 29.03.2016
      Variable DT10 vorher: Sonntag, 20.März.2016
      Variable DT10 nachher: 29.03.2016

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 29.März.2016, 20:46.
    Re: Gerne ...

      Das geht so nicht. Eigentlich lässt du im Datum die Var $_raw{'Samstag, 19.März.2016'} formatieren. Die gibts aber nicht, also nimmt er das heutige Datum.
      Meintest du eventuell

      $DT11 = datum($_raw{DT11},"Tag0.Monat0.Jahr");
      

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Dienstag, 29.März.2016, 21:11.
    Re: Re: Gerne ...

      Sander danke!
      Die Variante ohne "$" geht auch nicht.
      D.h. ich werde wohl oder übel die Variable mit dem Datum händisch "zerlegen" müssen.
      Oder kann ich das in der Datenbank selbst beeinflussen mit dem vorzugebenden Erfassungs- oder Ausgabedatum?
      Mit dem Anpassen des Ausgabeformates der DB habe ich es schon probiert, hat nichts geholfen.

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Dienstag, 29.März.2016, 21:15.
    Re: Re: Re: Gerne ...

      Problem gelöst!
      Ich habe es doch noch einmal mit dem Ausgabeformat in der DB versucht und diese reorganisiert.
      Jetzt entspricht die Ausgabe der in der DB.

      Vielen Dank trotzdem!

     Antworten

    Beitrag von richard (1187 Beiträge) am Mittwoch, 30.März.2016, 07:24.
    Re: Re: Re: Re: Gerne ...

      Wäre schön, wenn Du den funktionierenden Code dann hier am Ende auch posten würdest. Dem nächsten ders braucht würde es vielleicht helfen.

     Antworten

    Beitrag von Helmut Meisl (119 Beiträge) am Mittwoch, 30.März.2016, 08:30.
    Lösung

      Ich dachte, die Lösung habe ich schon beschrieben. Gerne aber nochmal etwas genauer.

      In der DB gibt es ein Datumsfeld namens "datum".
      Aus diesem Feld mache ich im Durchlauf (loop) die einzelnen Variablen DT1, DT2, DT3 ...
      Da ich die Ausgabe im kurzen Datumsformat (TT.MM.JJ) benötige, wollte ich die Variablen DT1... entsprechend umwandeln; das Ausgabeformat in der DB war auf das lange Datumsformat mit Tagesnamen usw. eingestellt.
      Nachdem die Umwandlung - siehe Thread - nicht funktioniert hat, habe ich das Ausgabeformat in der Datenbank neu festgelegt und (vermutlich gar nicht nötig) die DB neu reorganisiert.
      Mit diesem Umweg sehen meine Variablen DT1... so aus, wie ich es will.

     Antworten


     
 Liste der Einträge von 1500 bis 1650:Einklappen Zur Eingabe 
Neueste Einträge << 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.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!