Re: Datum vergleichen - 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 Oliver ;-) (439 Beiträge) am Montag, 17.September.2001, 21:57.
    Re: Datum vergleichen

      Danke, werd's mal ausprobieren.

      zu 2) ist alles auf "nutzereingabe" eingestellt

      Jou, sieh dich ruhig um... ;-)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver ;-) (439 Beiträge) am Montag, 17.September.2001, 00:18.
    Datum vergleichen

      Hallo,

      ich hänge immer noch am Datum (siehe weiter unten)...

      Bei meiner DB mit Beginn- und Schluss-Datum habe ich nun begriffen, dass baseportal Datumsfelder immer füllt, wenn diese leer sind (auch wenn diese auf "Nutzereingabe" eingestellt sind...).

      Ich möchte nun in meinem Ausgabetemplate das Schluss-Datum nur angezeigt bekommen, wenn es nicht dem Beginn-Datum entspricht. Eigentlich ist das ja eine einfache "if"-Schleife. Nur irgendwie scheine ich heute wieder ein "Brett vorm Kopf" zu haben. Wie vergleiche ich nun die beiden Felder?
      Im Prinzip soll der Satz lauten:
      Wenn (Schlussdatum nicht gleich Beginndatum oder SchlussUhrzeit nicht gleich BeginnUhrzeit) dann...
      ... nur wie schreib ich's in Perl?

      Zum Thema Datum habe ich auch noch ne zweite Frage:

      Wie bekomme ich es hin, dass im Eingabeformular im Datum-Optionsfeld immer das aktuelle Datum voreingestellt ist?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 17.September.2001, 01:03.
    Re: Datum vergleichen

      wie wärs mit
      1)
      if (datum($schluss,"Tag.Monat.Jahr") ne datum($beginn,,"Tag.Monat.Jahr") || datum($schluss,"Stunde:Minute") ne datum($beginn,,"Stunde:Minute"))
      

      2)
      out "<option";
      out " selected" if datum($deindatum,"Tag.Monat.Jahr") eq datum("jetzt","Tag.Monat.Jahr");
      out ">$deinDatum";
      

      und sonst alles klar bei "alleine"?

      Sander

      Ps: if-Schleifen gibts nicht, - if-Verzweigung ist richtiger ;-)

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Montag, 17.September.2001, 14:02.
    Re: Datum vergleichen

      Hallo Sander,

      danke für deine Tipps. Werde sie nachher gleich mal ausprobieren.

      Ansonsten ist eigentlich (weitgehend) alles klar. Dank deiner großen (Anschub-)Hilfe wurschtel ich mich im Moment ganz gut durch. Bei den verschiedenen Templates gehen mal ab und zu die Ids verloren, aber im Großen und Ganzen funktioniert es ganz gut. Besonders das Postamt läuft jetzt stabil :-))

      Demnächst werde ich aber wohl wieder mit größeren Fragen auf dich zu kommen...

      Grüße
      Oliver ;-)


      P.S.: dann halt nicht if-Schleifen... bin halt doch ein Anfänger... ;-)))

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Montag, 17.September.2001, 15:23.
    Re: Datum vergleichen

      Hallo Sander,

      ich bins nochmal...

      also zu 1) klappt wunderbar

      zu 2) habe ich noch eine Frage: Wo setze ich den Code denn hin? Bisher sieht mein select so aus:

      <select name="_BeginnDatum_Tag:=">
      <option>1<option>2<option>3<option>4<option>5<option>6<option>7<option>8<option>9<option>10<option> 11<option>12<option>13<option>14<option>15<option>16<option>17<option>18<option>19<option>20<option> 21<option>22<option>23<option>24<option>25<option>26<option>27<option>28<option>29<option>30<option> 31</option><style="border-color:#FFCC00; background-color:#FFFFCC; color:#000000; font-family:arial, helvetica; font-size:12px; font-weight:bold;"></select>. <select name="_BeginnDatum_Monat:="><option value="1">Januar<option value="2">Februar<option value="3">März<option value="4">April<option value="5">Mai <option value="6">Juni<option value="7">Juli<option value="8">August<option value="9">September<option value="10">Oktober<option value="11">November<option value="12"> Dezember</option><style="border-color:#FFCC00; background-color:#FFFFCC; color:#000000; font-family:arial, helvetica; font-size:12px; font-weight:bold;"></select>. <select name="_BeginnDatum_Jahr:="><option selected>2001<option>2002<option>2003 <option>2004<option>2005<option>2006<option>2007<option>2008<option>2009 <option>2010</option><style="border-color:#FFCC00; background-color:#FFFFCC; color:#000000; font-family:arial, helvetica; font-size:12px; font-weight:bold;"></select>
      

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 17.September.2001, 18:58.
    Re: Datum vergleichen

      dann müssen wir das anders angehen, genauer: in Perl - was sonst ;-)

      <perl>
      out "<select name=\"_BeginnDatum_Tag:=\" style=\"border-color:#FFCC00; background-color:#FFFFCC; color:#000000; font-family:arial, helvetica; font-size:12px; font-weight:bold;\">";
      for (1..31)
      {
        out "<option";
        out " selected" if $_ == datum("jetzt","Tag");
        out ">$_</option>";
      }
      out "</select><select name=\"_BeginnDatum_Monat:=\" style=\"border-color:#FFCC00; background-color:#FFFFCC; color:#000000; font-family:arial, helvetica; font-size:12px; font-weight:bold;\">";
      

      for ("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember")
      {
        out "<option";
        out " selected" if $_ eq datum("jetzt","Monatname");
        out ">$_</option>";
      }
      out "</select><select name=\"_BeginnDatum_Jahr:=\" style=\"border-color:#FFCC00; background-color:#FFFFCC; color:#000000; font-family:arial, helvetica; font-size:12px; font-weight:bold;\">";
      for (2001..2010)
      {
        out "<option";
        out " selected" if $_ == datum("jetzt","Jahr");
        out ">$_</option>";
      }
      out "</select>";
      </perl>
      

      Das kannst du gegen die jetzigen selects eintauschen.

      Grüsse

      Sander

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Montag, 17.September.2001, 21:01.
    Re: Datum vergleichen

      Super, funktioniert - für Stunde/Minute habe ich mir das auch umgeschrieben ;-)

      Hab da aber noch zwei Fragen:

      1. Bei Stunde Minute sieht die for-Schleife (?!) so aus:
      for (0..23)...
      das funktioniert auch soweit. Kann ich das auch irgendwie hinbekommen, dass bei den Ziffern 0 bis 9 im select die führende "0" mit ausgegeben wird?
      

      2. Im Änderungsformular habe ich es - nach deinem Muster - auch hinbekommen, dass mir im Datum und bei der Zeit der ursprüngliche Feldinhalt angezeigt wird. Nur wenn ich das Formular abschicke, werden die Felder mit aktuellem Datum und aktueller Zeit gefüllt. Der mod-Befehl sieht so aus:
      mod "Id==!$detailId", [...,"BeginnDatum",$BeginnDatum,"BeginnUhrzeit",$BeginnUhrzeit,"SchlussDatum",$SchlussDatum, "SchlussUhrzeit",$SchlussUhrzeit...],"liste";
      
      Wo liegt der Fehler?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 17.September.2001, 21:51.
    Re: Datum vergleichen

      jo, so denke ich
      out ">".(length($_)==1?"0":"")."$_</option>"; #wenn länge = 1 ist, wird ne 0 davorgeschrieben
      

      2) ist das Feld auf nutzereingabe oder auf Erstellung/änderung? nutzereingabe wäre richtig. wenns das nicht ist, sag mal bescheid - ich komme gucken ;-)

      Sander

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Montag, 17.September.2001, 21:57.
    Re: Datum vergleichen

      Danke, werd's mal ausprobieren.

      zu 2) ist alles auf "nutzereingabe" eingestellt

      Jou, sieh dich ruhig um... ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 17.September.2001, 21:59.
    Re: Datum vergleichen

      aber in welchem Template?

      Sander

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Montag, 17.September.2001, 22:14.
    Re: Datum vergleichen

      Oh, pardon...

      Verzeichnis= termine
      Template= aendern

      Oliver ;-)

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Montag, 17.September.2001, 22:16.
    Re: Datum vergleichen

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Dienstag, 18.September.2001, 09:36.
    Re: Datum vergleichen

      Moin Sander,

      hast du schon den Fehler entdeckt?

      Oliver ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 18.September.2001, 13:31.
    Re: Datum vergleichen

      ne, hatte gestern keine Zeit mehr dafür
      gucke aber gleich.

      Sander

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 18.September.2001, 15:33.
    Re: Datum vergleichen

      so, nun teste mal.
      Bei mod .. mußt du die einzelnen Vars aus dem select so speichern, wie sie aus dem Form ankommen. erst beim speichern werden die Werte zu einem Datum zusammen gesetzt.

      Sander

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Dienstag, 18.September.2001, 16:02.
    Re: Datum vergleichen

      Super danke - funktioniert :-))

      Hatte mir schon gedacht, dass es damit zu tun hat. Wusste nur nicht, wie es anstelle...

      Kannst du mir noch sagen, wie ich am Besten die Datensätze lösche, deren BeginnDatum eine Woche überschritten ist und bei denen das Feld "periodisch" nicht gefüllt ist?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 18.September.2001, 16:36.
    Re: Datum vergleichen

      probier das mal an einer Sicherung. ich glaube das mit ' ' bei leer hat bei mir schon mal hingehauen.

      del "BeginnDatum<jetzt-7 periodisch==' '","dbname";

      Sander

     Antworten

    Beitrag von Oliver ;-) (439 Beiträge) am Dienstag, 18.September.2001, 22:33.
    Re: Datum vergleichen

      funktioniert irgendwie nicht. ich bekomme das zwar hin, dass Datensätze gelöscht werden, aber die Selektion nach Sätzen mit leerem Feld "periodisch" klappt nicht.

      Oliver ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 18.September.2001, 22:58.
    Re: Datum vergleichen

      dann halt umständlich:

      get "Id==*","dbname","loeschen";
      while (get_next("loeschen"))
      {
      if ($periodisch eq "" && datum($BeginnDatum,"intern")lt datum("jetzt-7","intern"))
      {
      del "Id==$_id","dbname";
      }
      }
      

      Hauptsache, es überschreibt dann nicht wieder andere Ids ;-)

      Sander

     Antworten

    Beitrag von Oliver ;-) (49 Beiträge) am Mittwoch, 19.September.2001, 09:52.
    Re: Datum vergleichen

      Danke, Sander, so funktioniert es :-)

      allerdings musste ich das unter die Listenausgabe setzen, da sonst - warum auch immer - nur die Termine der Art "Treffen" angezeigt wurden.

      Jetzt hat es halt den kleinen Schönheitsfehler, dass eventuell noch Sätze angezeigt werden, die eigentlich im gleichen Moment gelöscht wurden.

      Oliver ;-)

     Antworten


     
 Liste der Einträge von 57000 bis 57150: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.12s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!