Codefehler bei mod-Schleife - 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 (141 Beiträge) am Samstag, 29.Oktober.2016, 13:08.
    Codefehler bei mod-Schleife

      Ich bin sicher, es ist nur ein kleiner Fehler, der mich aber erheblich nervt, weil ich ihn nicht finde.
      In einer DB stehen verschiedene Werte in entsprechenden Feldern.
      Aus diesen Werten möchte ich den Inhalt für ein weiteres Feld berechnen und in diesem speichern.
      Das geht aber nicht. bzw. wird nur ein Datensatz befüllt.
      Das paradoxe: Wenn ich den mod-Befehlt rausgebe, schaut alles (Kontrollausgabe) richtig aus und wird der Wert für alle Datensätze korrekt berechnet und mit out auch ausgegeben.
      Sobald der mod-Befehl im Spiel ist, ist auch die Kontrollausgabe falsch.
      Wo liegt mein "Fisch"?

      ------

      <html><head><title></title>
      </head><body bgcolor="#ffffff">
      

      <loop code=perl db^=dbname sort=datum>

      $hzgdiff = $Heizung - $hzgalt;
      $kennziffer = sprintf("%.2f",$hzgdiff / (22 - $ta_mittel));
      

      ## hier soll das Feld <kennziffer> befüllt werden
      mod "Id==$_id", ["kennziffer", $kennziffer], "dbname";
      

      ## wenn die mod-Zeile als "Anmerkung" markiert ist, ist die folgende Ausgabe komplett richtig
      ## wenn mod aktiv ist, dann wird nur ein Datensatz richtig ausgegeben, alle anderen sind mit Nullen befüllt
      out $_id.":".$datum." KZ =  ".$kennziffer." HZG ".$hzgdiff."kWh - TA = ".$ta_mittel."<br>";
      

      $hzgalt = $Heizung;

      </loop>
      <br>
      
      ... JOB ERLEDIGT
      </body></html>

      ------

      DANKE an alle Helfer schon vorab!


    Ihre Antwort:

    Name: EMail: EMail bei Antwort? WWW:
    Titel:
    Text:

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Helmut (141 Beiträge) am Samstag, 29.Oktober.2016, 13:08.
    Codefehler bei mod-Schleife

      Ich bin sicher, es ist nur ein kleiner Fehler, der mich aber erheblich nervt, weil ich ihn nicht finde.
      In einer DB stehen verschiedene Werte in entsprechenden Feldern.
      Aus diesen Werten möchte ich den Inhalt für ein weiteres Feld berechnen und in diesem speichern.
      Das geht aber nicht. bzw. wird nur ein Datensatz befüllt.
      Das paradoxe: Wenn ich den mod-Befehlt rausgebe, schaut alles (Kontrollausgabe) richtig aus und wird der Wert für alle Datensätze korrekt berechnet und mit out auch ausgegeben.
      Sobald der mod-Befehl im Spiel ist, ist auch die Kontrollausgabe falsch.
      Wo liegt mein "Fisch"?

      ------

      <html><head><title></title>
      </head><body bgcolor="#ffffff">
      

      <loop code=perl db^=dbname sort=datum>

      $hzgdiff = $Heizung - $hzgalt;
      $kennziffer = sprintf("%.2f",$hzgdiff / (22 - $ta_mittel));
      

      ## hier soll das Feld <kennziffer> befüllt werden
      mod "Id==$_id", ["kennziffer", $kennziffer], "dbname";
      

      ## wenn die mod-Zeile als "Anmerkung" markiert ist, ist die folgende Ausgabe komplett richtig
      ## wenn mod aktiv ist, dann wird nur ein Datensatz richtig ausgegeben, alle anderen sind mit Nullen befüllt
      out $_id.":".$datum." KZ =  ".$kennziffer." HZG ".$hzgdiff."kWh - TA = ".$ta_mittel."<br>";
      

      $hzgalt = $Heizung;

      </loop>
      <br>
      
      ... JOB ERLEDIGT
      </body></html>

      ------

      DANKE an alle Helfer schon vorab!

     Antworten

    Beitrag von Sander (8133 Beiträge) am Samstag, 29.Oktober.2016, 22:47.
    Re: Codefehler bei mod-Schleife

      mach das mal in einem get - eventuell ist das ein bug in bp

      <perl>
      get "sort=datum","dbname","erg";
      while(get_next("erg")){
      

      $hzgdiff = $Heizung - $hzgalt;
      $kennziffer = sprintf("%.2f",$hzgdiff / (22 - $ta_mittel));
      

      ## hier soll das Feld <kennziffer> befüllt werden
      mod "Id==$_id", ["kennziffer", $kennziffer], "dbname";
      

      ## wenn die mod-Zeile als "Anmerkung" markiert ist, ist die folgende Ausgabe komplett richtig
      ## wenn mod aktiv ist, dann wird nur ein Datensatz richtig ausgegeben, alle anderen sind mit Nullen befüllt
      out $_id.":".$datum." KZ =  ".$kennziffer." HZG ".$hzgdiff."kWh - TA = ".$ta_mittel."<br>";
      

      $hzgalt = $Heizung;
      }
      </perl>
      

     Antworten

    Beitrag von Helmut (141 Beiträge) am Samstag, 29.Oktober.2016, 22:57.
    Re: Re: Codefehler bei mod-Schleife

      PERFEKT!

      Hallo Sander, viele Dank!
      Genau so funktioniert das jetzt einwandfrei.

     Antworten


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