Problem mit modify - 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 Old Eagle Eye (148 Beiträge) am Dienstag, 18.Dezember.2001, 09:35. WWW: www.bigmountain.at
    Problem mit modify

      Hallo Leute,
      kann mir bitte jemand sagen, was an dem unten angeführten Code 'falsch' ist? Ich arbeite derzeit mit einer Test DB mit nur 6 Einträgen, trotzdem dauert dieser Modify 'endlos' und wird von mir immer wieder händisch gestoppt. Offensichtlich habe ich da irgendwie eine Endlosschleife eingebaut?!?

      Der Sinn des ganzen sollte sein, dass ich eine DB habe, aus welcher ich die einzelnen Felder auslese und je nachdem Wert, welcher drinnen steht, dieses Wert (ev. mit Multiplikator) in ein Feld für die Gesamtpunkte addiere und dieses anschließend wieder in der DB speichere.

      Hier der 'falsche' Code:

      <perl>
      $selJahr=$aktuelljahr if ($selJahr eq "" or $selJahr eq "*");##aktuelles Jahr als Default
      $myDB="/xxx/xxx/Challenge";
      $Parameter="Jahr==$selJahr";
      

      get "$Parameter", "$myDB";
      while (get_next("$myDB")){
         $Resultat=0;
         $Resultat=$Resultat+15 if ($GV==1);
         $Resultat=$Resultat+15 if ($EBW==1);
         $Resultat=$Resultat+20 if ($HOGRally==1);
         $Resultat=$Resultat+($Clubabend*5) if ($Clubabend>0);
         $Resultat=$Resultat+($Officer*2) if ($Officer>0);
         $Resultat=$Resultat+($TourET*6) if ($TourET>0);
         $Resultat=$Resultat+($TourMT*12) if ($TourMT>0);
         $Resultat=$Resultat+($Brezn*3) if ($Brezn>0);
         $Resultat=$Resultat+($TourET*6) if ($TourET>0);
         $Resultat=$Resultat+$Sponsor if ($Sponsor>0);
         $KMPunkte=0;
         $KMPunkte=($KMEnde-$KMStart)/1000 if ($KM==1);
         $Resultat=$Resultat+$KMPunkte;
      
         out "<p>errechnetes Resultat für Member Nr. $Member = $Resultat</p>";    mod "Id==$_id", ["Punkte", "$Resultat"], "$myDB";    out "<p>Datenbank wurde aktualisiert - Stand: Member Nr. $Member hat $Resultat Punkte</p>";

      }
      </perl>
      

      Als zusätzliche Erklärung: Das Feld $Member ist ein Relationsfeld zu einer anderen DB, in welcher dann die Personendaten gespeichert sind.

      Ich ersuche um Unterstützung
      Danke
      OEE

      PS: Das ganze sollte übrigens eine interne Punkteliste darstellen, um ein Jahresranking innerhalb des Clubs zu erstellen.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Old Eagle Eye (148 Beiträge) am Dienstag, 18.Dezember.2001, 09:35. WWW: www.bigmountain.at
    Problem mit modify

      Hallo Leute,
      kann mir bitte jemand sagen, was an dem unten angeführten Code 'falsch' ist? Ich arbeite derzeit mit einer Test DB mit nur 6 Einträgen, trotzdem dauert dieser Modify 'endlos' und wird von mir immer wieder händisch gestoppt. Offensichtlich habe ich da irgendwie eine Endlosschleife eingebaut?!?

      Der Sinn des ganzen sollte sein, dass ich eine DB habe, aus welcher ich die einzelnen Felder auslese und je nachdem Wert, welcher drinnen steht, dieses Wert (ev. mit Multiplikator) in ein Feld für die Gesamtpunkte addiere und dieses anschließend wieder in der DB speichere.

      Hier der 'falsche' Code:

      <perl>
      $selJahr=$aktuelljahr if ($selJahr eq "" or $selJahr eq "*");##aktuelles Jahr als Default
      $myDB="/xxx/xxx/Challenge";
      $Parameter="Jahr==$selJahr";
      

      get "$Parameter", "$myDB";
      while (get_next("$myDB")){
         $Resultat=0;
         $Resultat=$Resultat+15 if ($GV==1);
         $Resultat=$Resultat+15 if ($EBW==1);
         $Resultat=$Resultat+20 if ($HOGRally==1);
         $Resultat=$Resultat+($Clubabend*5) if ($Clubabend>0);
         $Resultat=$Resultat+($Officer*2) if ($Officer>0);
         $Resultat=$Resultat+($TourET*6) if ($TourET>0);
         $Resultat=$Resultat+($TourMT*12) if ($TourMT>0);
         $Resultat=$Resultat+($Brezn*3) if ($Brezn>0);
         $Resultat=$Resultat+($TourET*6) if ($TourET>0);
         $Resultat=$Resultat+$Sponsor if ($Sponsor>0);
         $KMPunkte=0;
         $KMPunkte=($KMEnde-$KMStart)/1000 if ($KM==1);
         $Resultat=$Resultat+$KMPunkte;
      
         out "<p>errechnetes Resultat für Member Nr. $Member = $Resultat</p>";    mod "Id==$_id", ["Punkte", "$Resultat"], "$myDB";    out "<p>Datenbank wurde aktualisiert - Stand: Member Nr. $Member hat $Resultat Punkte</p>";

      }
      </perl>
      

      Als zusätzliche Erklärung: Das Feld $Member ist ein Relationsfeld zu einer anderen DB, in welcher dann die Personendaten gespeichert sind.

      Ich ersuche um Unterstützung
      Danke
      OEE

      PS: Das ganze sollte übrigens eine interne Punkteliste darstellen, um ein Jahresranking innerhalb des Clubs zu erstellen.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 18.Dezember.2001, 10:46.
    Re: Problem mit modify

      gib mal bei get ein ergebnis an und greif bei get_next auf dieses zu.

      get "...","dbname","ergebnis";
      while (get_next("ergebnis"))
      {
      
      ...


      dann haut das hin.

      Sander

     Antworten

    Beitrag von Old Eagle Eye (148 Beiträge) am Dienstag, 18.Dezember.2001, 11:10. WWW: www.bigmountain.at
    Danke - funktioniert

      Danke Sander,

      wie immer, ein kleiner Schritt für dich, ein großer Sprung für mich.

      Vorab schon mal schöne Feiertage - OEE

     Antworten


     
 Liste der Einträge von 52650 bis 52800: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!