Re: Gesamtrangliste - 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 Spencer (109 Beiträge) am Montag, 19.Juli.2004, 13:39.
    Re: Gesamtrangliste

      Hallo Claus

      Es kommt leider folgende Fehlermeldung:

      [ Fehler: Fehlerhafter Perl Code in :
      syntax error at (eval 23) line 13, near "$push (" ]

      Vielen Dank schonmal
      Spencer


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Spencer (109 Beiträge) am Montag, 19.Juli.2004, 09:56.
    Gesamtrangliste

      Hallo

      Hab mal wieder ein Problem mit meiner Rangliste. Durch die sehr gute Hilfe hier habe ich schon vieles hinbekommen aber nun komme ich nicht mehr weiter.

      In der Datenbank sind die Felder $nr (Fahrer-Nr.), $rennen (Nr. des Rennens) und $zeit_pkt (vergebene Punkte für das Rennen).
      Die Informationen über die Fahrer (Name, Alter, etc.) kommen aus einer anderen Datenbank und wird durch die Fahrer-Nr zugeordnet.

      Ich möchte nun eine Gesamtrangliste ausgeben bei der die Punkte ($zeit_pkt)
      jedes Fahrers addiert und sortiert ausgegeben werden. Habe im Forum folgende Zeilen von Christoph gefunden und einfach mal meine Variablen eingesetzt.

      <loop db=0104 code=perl>
      $fahrer="$nr";
      $ges_pkt{$fahrer}+=$_loop{"zeit_pkt"};
      </loop>
      

      <perl>
      @liste=sort {$ges_pkt{a} <=> $ges_pkt{$b}} (keys %ges_pkt);
      foreach $ein (@liste)
      {
      $ges_pkt=$ges_pkt{$ein};
      out "$ges_pkt";
      }
      </perl> 
      

      Tatsächlich werden die Punkte auch richtig addiert !!!

      Wie bekomme ich aber die Sortierung hin ? Weiß nicht was die Zeile
      @liste=sort {$ges_pkt{a} <=> $ges_pkt{$b}} (keys %ges_pkt);
      
      genau bewirkt.
      Wie kann ich die Fahrer-Nr ausgeben ? Es wird bei mir immer die selbe Nr. ausgegeben.
      Wie kann ich den Fahrernamen aus der anderen Datenbank hier einbinden ?

      Das mal die wichtigsten Fragen

      Danke und schöne Grüsse
      Spencer

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Montag, 19.Juli.2004, 11:20.
    Re: Gesamtrangliste

      Hallo Spencer,

      versuch´s mal damit.

      <perl>
      
      %ges_pkt = ();
      get "Id==*", "0104";
      while (get_next("0104"))
           {
            $ges_pkt{$nr} += $zeit_pkt;
           }
      @arr_punkte
      while (@dummy = each(%ges_pkt))
           {
            $work = sprintf('%.6d', $dummy[1]);
            $push (@arr_punkte, "$work|$dummy[0]");
      # Deine Entscheidung - entsprechendes # entfernen
      #      @arr_punkte = sort(@arr_punkte); # aufsteigend nach Punkten
      #      @arr_punkte = sort { $b cmp $a } @arr_punkte # absteigend nach Punkten;
           }
      foreach $arr_punkte(@arr_punkte)
             {
              ($punkte, $fahrer) = split(/\|/, $arr_punkte);
              get "db2_nr==$fahrer", "2.Datenbank";
              $db2_name = "???" if (!$_amount_query);
              out "Punkte: $punkte - Fahrer-Nr.: $fahrer - Fahrer-Name: $db2_name<br>\n";
             }
      </perl>
      


      Hoffentlich klappt´s (NICHT GETESTET)

      Gruß
      Claus

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Montag, 19.Juli.2004, 11:31.
    Re: Gesamtrangliste

      Hallo Spencer,

      leider ein kleiner Fehler eingeschlichen - sorry. :-(


      Die Zeile @arr_punkte ersetzen durch

      @arr_punkte = ();
      

      Gruß
      Claus

     Antworten

    Beitrag von Spencer (109 Beiträge) am Montag, 19.Juli.2004, 13:39.
    Re: Gesamtrangliste

      Hallo Claus

      Es kommt leider folgende Fehlermeldung:

      [ Fehler: Fehlerhafter Perl Code in :
      syntax error at (eval 23) line 13, near "$push (" ]

      Vielen Dank schonmal
      Spencer

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Montag, 19.Juli.2004, 14:57.
    Re: Gesamtrangliste

      Hallo Spencer,

      das $ muss weg.


      falsch:

      $push (@arr_punkte, "$work|$dummy[0]");
      

      richtig:

      push (@arr_punkte, "$work|$dummy[0]");
      



      falsch:

      #      @arr_punkte = sort { $b cmp $a } @arr_punkte # absteigend nach Punkten;
      

      richtig:

      #      @arr_punkte = sort { $b cmp $a } @arr_punkte; # absteigend nach Punkten
      

      Sorry...

      Gruß
      Claus

     Antworten

    Beitrag von Spencer (109 Beiträge) am Montag, 19.Juli.2004, 15:12.
    Re: Gesamtrangliste

      Vielen Dank Claus

      funktioniert jetzt wunderbar.
      Es tauchen aber bestimmt noch weitere Fragen auf.

      Bis dann
      Spencer

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Montag, 19.Juli.2004, 17:38.
    Re: Gesamtrangliste

      Hallo Spencer,

      das freut mich aber.

      Wenn ich Zeit habe und nicht unterwegs bin gerne.

      Viel Erfolg weiterhin.

      Gruß
      Claus

     Antworten


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