Re: Kann man Perl-Ausgaben unterdrücken? - 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 Christoph Bergmann (8110 Beiträge) am Montag, 27.November.2000, 16:35.
    Re: Kann man Perl-Ausgaben unterdrücken?

      Hi ho... Die Datumsberechnung in den "loop" reinzunehmen ist nicht ganz so effizient, weil er dann bei jedem Eintrag dieselben Berechnungen ausführen muss, die sich aber garnicht ändern (ausser vielleicht um 23:59.59, aber das ist sicher auch nicht der gewünschte Effekt).

      Besser wäre also schon ein:

      <perl>            ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
      $mon += 1;
      $year += 1900;
      $datumheute = (10000*$year)+(100*$mon)+(1*$mday);
      $eventdatum = (10000*$event_jahr)+(100*$event_monat)+($event_tag);
      
      ""
      </perl>

      <loop db=events sort=event_jahr,event_monat,event_tag code=perl>
      

      if($eventdatum>=$datumheute)
      {
        out ....etc. ...
      </loop>
      

      Das sind nur ein 2 Zeilen mehr, aber entlastet die Datenbank schon deutlich...

      Grüsse,

      Christoph...


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Stephan (263 Beiträge) am Freitag, 24.November.2000, 16:09. WWW: www.hix.de
    Kann man Perl-Ausgaben unterdrücken?

      <perl> 
      
      Dank der guten Beiträge im Forum habe ich folgenden Code geschrieben, der aus einer Datenbank die Termine ausblendet, die älter als das Tagesdatum sind.

      Im Prinzip funktioniert das ja gut, aber ich bekomme immer die Ausgabe von $datumheute angezeigt ... Warum?
      Kann ich das unterdrücken?


      ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)
      = gmtime(time);
      $mon += 1; 
      $year += 1900; 
      $datumheute = (10000*$year)+(100*$mon)+(1*$mday); 
      </perl> 
      <do action=input db=termine> 
      <loop db=termine Verfall>=$datumheute> 
      <!-- Felder --!>
      </loop>
      

      Danke für Eure Ideen.

      Gruß
      Stephan

     Antworten

    Beitrag von Winkiller (175 Beiträge) am Freitag, 24.November.2000, 18:23.
    Re: Kann man Perl-Ausgaben unterdrücken?

      Klar, kannst du!

      Weil immer der letzte wert in <Perl> ausgegeben wird, wenn keine ausgabe (out) definiert ist, erscheint bei dir dieser Wert!

      Lösung:
      "" am schluss in <perl> schreiben. Dann ist "" der letzte Wert.

     Antworten

    Beitrag von Marco (840 Beiträge) am Freitag, 24.November.2000, 18:47. WWW: vbcherisau.ch
    Re: Kann man Perl-Ausgaben unterdrücken?

      ... oder einfach die ganze datumsberechung in den loop integrieren, dann kommt's gar nicht soweit.
      Bei mir sieht das so aus:

      <loop db=events sort=event_jahr,event_monat,event_tag code=perl>
      ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
      $mon += 1;
      $year += 1900;
      $datumheute = (10000*$year)+(100*$mon)+(1*$mday);
      $eventdatum = (10000*$event_jahr)+(100*$event_monat)+($event_tag);
      if($eventdatum>=$datumheute)
      {
      out ....etc. ...
      </loop>
      

     Antworten

    Beitrag von Stephan (263 Beiträge) am Freitag, 24.November.2000, 20:08. WWW: www.hix.de
    Re: Kann man Perl-Ausgaben unterdrücken?

      Danke! Das war der Hinweis, den ich brauchte.
      Mit ein paar anderen Beiträgen zusammen klappt es jetzt.

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 27.November.2000, 16:35.
    Re: Kann man Perl-Ausgaben unterdrücken?

      Hi ho... Die Datumsberechnung in den "loop" reinzunehmen ist nicht ganz so effizient, weil er dann bei jedem Eintrag dieselben Berechnungen ausführen muss, die sich aber garnicht ändern (ausser vielleicht um 23:59.59, aber das ist sicher auch nicht der gewünschte Effekt).

      Besser wäre also schon ein:

      <perl>            ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
      $mon += 1;
      $year += 1900;
      $datumheute = (10000*$year)+(100*$mon)+(1*$mday);
      $eventdatum = (10000*$event_jahr)+(100*$event_monat)+($event_tag);
      
      ""
      </perl>

      <loop db=events sort=event_jahr,event_monat,event_tag code=perl>
      

      if($eventdatum>=$datumheute)
      {
        out ....etc. ...
      </loop>
      

      Das sind nur ein 2 Zeilen mehr, aber entlastet die Datenbank schon deutlich...

      Grüsse,

      Christoph...

     Antworten

    Beitrag von Stephan (263 Beiträge) am Dienstag, 28.November.2000, 14:44.
    Schleife geändert

      Ups, sorry!

      Kleine Ursache, aber große Wirkung, zumindest wenn das jeder machen wollte. Ich habe es geändert.

      Danke für den Hinweis!

      Gruß
      Stephan

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 28.November.2000, 20:39.
    Re: Schleife geändert

      Jups, in dem Fall wars nicht sooooo schlimm, aber besser isses ;-) Prinzipiell lautet die "Programmierregel": Nichts in eine Schleife, was seinen Wert nicht ändert und deshalb auch davor gemacht werden kann... Oder so... ;-)

     Antworten


     
 Liste der Einträge von 67500 bis 67650: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


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



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