Rangliste - 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 Freitag, 20.Februar.2004, 09:09.
    Rangliste

      Hallo

      ich möchte gerne eine Rangliste ausgeben. Die Ausgabe sortiert nach einem Feld ist nicht das Problem. Es soll in der ersten Spalte automatisch durchnummeriert werden und bei Punktgleichheit der selbe Rang vergeben werden.

      Etwa so:

      1 Teilnehmer A 50 Punkte
      2 Teilnehmer B 45 Punkte
      2 Teilnehmer C 45 Punkte
      4 Teilnehmer D 30 Punkte

      Wie müsste man sowas angehen. Wäre für jede Hilfe dankbar.

      Gruß
      Spencer


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Spencer (109 Beiträge) am Freitag, 20.Februar.2004, 09:09.
    Rangliste

      Hallo

      ich möchte gerne eine Rangliste ausgeben. Die Ausgabe sortiert nach einem Feld ist nicht das Problem. Es soll in der ersten Spalte automatisch durchnummeriert werden und bei Punktgleichheit der selbe Rang vergeben werden.

      Etwa so:

      1 Teilnehmer A 50 Punkte
      2 Teilnehmer B 45 Punkte
      2 Teilnehmer C 45 Punkte
      4 Teilnehmer D 30 Punkte

      Wie müsste man sowas angehen. Wäre für jede Hilfe dankbar.

      Gruß
      Spencer

     Antworten

    Beitrag von Buggi (9 Beiträge) am Freitag, 20.Februar.2004, 12:14.
    Re: Rangliste

      Hallo,

      das kannst z.B. so machen:

      <perl>
      get "teilnehmer==* sort=-Punkte", "db";
      while(get_next("db")){
       $rang = ++$rang;
       $Platz = $rang if($Punkte ne $puffer);
      
       out "$Platz $Teilnehmer $Punkte Punkte";  $puffer=$Punkte;
      }
      </perl>
      

      Schöne Grüße
      Buggi

     Antworten

    Beitrag von Spencer (109 Beiträge) am Montag, 23.Februar.2004, 10:04.
    Re: Rangliste

      Hallo Buggi

      Vielen Dank für Deinen Tipp. Hat auf Anhieb funktioniert.
      Habe es sogar als Laie geschafft auch die Punkte aus den erzielten Zeiten automatisch berechnen zu lassen.

      <perl>
      get "Alter==* sort=Zeit,-Alter", "0104";
      while(get_next("0104"))
      {
      $rang = ++$rang;
      $Platz1 = $rang if($Zeit ne $puffer);
      if ($Zeit ne "keine")
      {
      $Punkte = $_amount_all-$Platz1+1;
      }
      else
      {
      $Punkte=0
      }
      out "<tr valign='top'>";
      out "<td width='50'>$Platz1</td>";
      out "<td width='150'><b>$Name</b></td>";
      out "<td width='90'>$Punkte</td>";
      out "<td width='85' align='right'>$Alter</td>";
      out "<td width='85' align='right'>$Gewicht</td>";
      out "<td width='100'>$Zeit</td></tr>";
      

      $puffer=$Zeit;
      }
      </perl>
      

      Dabei bin aber schon wieder auf das nächste Problem gestossen. Eine Wettkampfserie besteht aus mehreren Rennen. Ich möchte also aus den Ergebnissen der einzelnen Rennen (Punkte) eine Gesamtrangliste erstellen. So wie ich das bisher verstanden haben, wird in der obigen Lösung der Rang und die Punkte nur im Template ermittelt und ausgegeben. Es müssten also zumindest die Punkte in die Datenbank geschrieben werden um dann eine Gesamtrangliste ausgeben zu können.
      Wie unterscheide ich dann aber die einzelnen Rennen? Soll man für jedes einzelne Rennen/Teilnehmer einen Datensatz anlegen oder nur einen Datensatz pro Teilnehmer mit den entsprechenden Feldern für die Rennen ?

      Bitte verzweifelt um Aufklärung. Vielleicht denke ich auch nur zu komplizert.

      Spencer

     Antworten

    Beitrag von Buggi (9 Beiträge) am Mittwoch, 25.Februar.2004, 09:40.
    Re: Rangliste

      Hallo Spencer,

      das kommt darauf an, wie viele Rennen es gibt.
      Ist die Anzahl der Rennen limitiert, sollte in der Teilnehmerdatenbank jeder Datensatz ein Feld für jedes Rennen besitzen. Da kommen die Punkte dann rein. Anderenfalls oder falls es zu viele Rennen sind, ist eine neue Datenbank besser.

      Buggi

     Antworten


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