Re: vereinfachen der variablen? 2 datenbanken - 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 Pouraga (1396 Beiträge) am Sonntag, 25.Februar.2007, 16:34.
    Re: vereinfachen der variablen? 2 datenbanken

      Egal was du vor hast, das sind viel zu viele loop's

      Noch verstehe ich nicht so ganz was du vorhast. Du addierts alles aus beiden Datenbanken zusammen? Dann ist es doch egal wie die Felder heissen, machst du dann doch eh nacheinander.
      Bringt das was du oben hast das richtige Ergebniss? Was funktioniert nicht?

      <loop code=perl db=2>$var4+=$feld1</loop>
      <loop code=perl db=2>$var5+=$feld2</loop>
      <loop code=perl db=2>$var6+=$feld3</loop>
      

      ist das selbe wie

      <loop code=perl db=2>
      $var4+=$feld1;
      $var5+=$feld2;
      $var6+=$feld3;
      </loop>
      

      und geht viel viel schneller

      <loop code=perl>$var7=((25*$var1)+375)</loop>ergebnis:$var7 <br>
      
      brauchst du garnichts aus der DB, dan ist das loop doch überflüssig
      bei einer komplexeren Aufgabe wie diese dann doch lieber mit perl arbeiten

      <perl>
      get "Id==*","db1";
      while(get_next("db1")){
      $var4+=$feld1;
      
      ..
      }
      get "Id==*","db2";
      while(get_next("db1")){
      $var4+=$feld1;
      
      ..
      }
      out "was auch immer z.B.: $var4";
      </perl>
      

      Ansonnsten werde mal etwas konkreter...


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Foxtrott (8 Beiträge) am Sonntag, 25.Februar.2007, 16:18.
    vereinfachen der variablen? 2 datenbanken

      hallo liebe gemeinde!
      als erstes sei gesagt, ich habe nur schwach ahnung von perl und datenbanken. ich fummle mich größtenteils selbst durch.nun habe ich ein problem, wo ich auch im forum nicht direkt eine antwort gefunden habe.

      ich habe 2 datenbanken (sollen später mehr werden) angelegt. diese beiden db´s gehören 2 unterschiedlichen nutzern. jeder trägt seperat also in seine db zahlenwerte ein.
      nun das problem:
      ich möchte in jeder datenbank per formel rechnen lassen, und die summen dann quasi aus beiden addieren. das ergebnis soll auf einer hauptseite erscheinen. ABER die felder heissen bei allen db´s gleich!

      ich habe es ,beispiel, bisher so gelöst:

      <td width=100% align=left valign=top>
      <span class="ST">
      

      <loop code=perl db=1>$var1+=$feld1</loop>
      <loop code=perl db=1>$var2+=$feld2</loop>
      <loop code=perl db=1>$var3+=$feld3</loop>
      

      <loop code=perl db=2>$var4+=$feld1</loop>
      <loop code=perl db=2>$var5+=$feld2</loop>
      <loop code=perl db=2>$var6+=$feld3</loop>
      

      <loop code=perl>$var7=((25*$var1)+375)</loop>ergebnis:$var7 <br>
      <loop code=perl>$var8=((20*$var6+$var2)+100)</loop>ergebnis:$var8 <br>
      

      mein gedanke war, ich muss, da die felder gleich heissen dafür sorgen, das sie unterschiedliche variablen erhalten um eindeutig zu sein.

      ist das so überhaupt sinnvoll? ich denke das ich aufgrund meines kleinen wissens auf keine effektive lösung kommen werde. wäre super wenn mir einer da mal ein wink oder denkansatz geben könnte!


      lg, gordon

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Sonntag, 25.Februar.2007, 16:34.
    Re: vereinfachen der variablen? 2 datenbanken

      Egal was du vor hast, das sind viel zu viele loop's

      Noch verstehe ich nicht so ganz was du vorhast. Du addierts alles aus beiden Datenbanken zusammen? Dann ist es doch egal wie die Felder heissen, machst du dann doch eh nacheinander.
      Bringt das was du oben hast das richtige Ergebniss? Was funktioniert nicht?

      <loop code=perl db=2>$var4+=$feld1</loop>
      <loop code=perl db=2>$var5+=$feld2</loop>
      <loop code=perl db=2>$var6+=$feld3</loop>
      

      ist das selbe wie

      <loop code=perl db=2>
      $var4+=$feld1;
      $var5+=$feld2;
      $var6+=$feld3;
      </loop>
      

      und geht viel viel schneller

      <loop code=perl>$var7=((25*$var1)+375)</loop>ergebnis:$var7 <br>
      
      brauchst du garnichts aus der DB, dan ist das loop doch überflüssig
      bei einer komplexeren Aufgabe wie diese dann doch lieber mit perl arbeiten

      <perl>
      get "Id==*","db1";
      while(get_next("db1")){
      $var4+=$feld1;
      
      ..
      }
      get "Id==*","db2";
      while(get_next("db1")){
      $var4+=$feld1;
      
      ..
      }
      out "was auch immer z.B.: $var4";
      </perl>
      

      Ansonnsten werde mal etwas konkreter...

     Antworten

    Beitrag von ´Foxtrott (1 Beitrag) am Sonntag, 25.Februar.2007, 17:02.
    Re: vereinfachen der variablen? 2 datenbanken

      danke erstmal für die schnelle antwort!!

      zuviele loops, japp :)

      ich werde es jetz mal konkretisieren.

      2 leute haben die gleiche, sagen wir zum beispiel, ware. beide tragen ihre eigenen werte, in ihre eigenen datenbanken.
      nun sollen diverse ergebnisse auf einer "hauptseite" angezeigt werden, aber seperat mit namen, sowie dann noch eine zusammenfassung.
      nur reicht es nicht, die werte nur zu addieren. vorher muss ich zum beispiel (feld1*25)+100) für db1, als auch für db2 errechnen lassen, dieses ergebnis unter dem entsprechenden namen ausgeben, und zum schluß noch kurz als summe anzeigen lassen. aber dadurch, das bei beiden db´s feld1 gleich heisst, muss ich mit diesen vielen variablen arbeiten?! und genau das macht mir zu schaffen. ich hätte so bereits jetzt über 200 variablen!

      außerdem sind ja die rechenwege bei beiden db´s gleich. kann man irgendwie eine formel erstellen, und diese dann auf die db´s anwenden?

      oder mein anderer gedanke ist, das ich für die 2 db´s jeweils eine seite erstelle, dort nur die rechenschritte reinkopiere (da die felder gleichheissen quasi der womöglich schnellste weg?), und dann in der hauptseite nur die ergebnisse integriere? wenn das geht, wie kann ich dann diese ergebnisse in die hauptseite packen?

      aber die loop´s werde ich kürzen! schonmal guter tip ;)

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Sonntag, 25.Februar.2007, 17:54.
    Re: vereinfachen der variablen? 2 datenbanken

      Wenn die beiden Datenbanken genau das selbe komplizierte haben/machen sollen, ist auch eine solche Schleife denkbar um redundanten Code zu vermeiden.


      <perl>
      my ($summebeide);
      

      foreach $db (["db1","db2"]){
       my ($summe,$rechenwert);
       get "Id==*",$db;
       while(get_next($db)){
        $summe+=$feld1;
       }
       $rechenwert=$summe*was auch immer;
       $summebeide+=$rechenwert;
       out "Das ist das ergebniss von $db:$rechenwert";
      }
      

      out "Zusammen macht das $summebeide";
      </perl>
      (ungetestet)
      

      Ich weiss jetzt nicht was in deinen Datenbanken steht, aber Setze dich mal mit Arrays und Hash's ausseinander. Vermutlich kannst deinen Datenbankinhalt zunächst in eine schönere Struktur bringen um nicht unzählige von einzelnen Skalaren zu verwalten.
      http://de.selfhtml.org/perl/sprache/index.htm

     Antworten

    Beitrag von Foxtrott (8 Beiträge) am Sonntag, 25.Februar.2007, 18:07.
    Re: vereinfachen der variablen? 2 datenbanken

      hm, ich werd das mal eben "erlernen" müssen. aber prinzipiell versteh ich glaub ich was du da sagen willst. =)

      aber bin grad beim put befehl. ich denke wenn ich die summen seperat bei den db´s errechnen lasse, und dann einfach das ergebnis in eine dritte db stecke , kann ich die dort einfach abrufen. so spare ich mir ständig neue variablen und ne massivlange hauptseite.

      wie gesagt, ich guck mir gleich mal dein vorschlag an. ich danke erstemal für die hilf! sehr gut ;)


      lg, gordon

     Antworten


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