Rangliste Gruppen
- compoundbow83
- Erledigt
-
-
-
Ja ok, hatte den Beitrag nicht mehr auf dem Schirm.
Ich habe mir den Fehler wohl bei der Optimierung durch den Code von Patchstar auf dem Thema Falsches Ranking in Gruppenranglisten?!? eingefangen.
Aber die Idee, dass nicht durchnummeriert wird finde ich dennoch gut. Aber dadurch kommt jetzt wohl die oben erwähnte falsche Nummerierung zu Stande.
Vielleicht kann da jemand noch einmal drauf schauen.
-
ich sage dazu eigentlich immer
last es bleiben einfach alles zu übernehmen wenn ihr nicht genau wisst was ihr tut
sonst wird das immer wieder vorkommen
wenn man nur das original Script benutzt passiert so etwas eben nicht
-
Ja das mag ja sein, wenn man aber einfach etwas gut findet, warum nicht probieren zu übernehmen? Ich hab ja hier nicht rumgemeckert oder gesagt es liegt am Scipt. Ich habe einfach nur nachgefragt, ob jemand einen Tipp hat.
-
ja habe ich vor dem einbauen von irgend etwas ein Backup erstellen
geht es dann nicht wie gewünscht Backup wieder zurück spielen
oder wie in deinem Fall die suche benutzen den es gibt schon ein Workaround für deinen Fehler
-
Könntest du mir wenn du da etwas gefunden hast mal bitte den Link posten?
-
Poste hier bitte mal deinen komplette Funktion CalcRanglistenRangNeu aus der include/inc.functions.php
-
Hallo Patchstar,
hier der Code:
Code- function CalcRanglistenRangNeu($liste) {
- $count = count($liste) - 1;
- $rang = 1;
- $rangTemp = 1;
- for ($key = 0; $key < $count; $key++)
- {
- if ($key == 0) {
- $liste[$key]['rang'] = 1;
- } else {
- $bSame = false;
- if ($liste[$key]['punkte'] == $liste[$key-1]['punkte'])
- {
- if ($liste[$key]['tipps'] == $liste[$key-1]['tipps'])
- {
- if ($liste[$key]['ergebnis'] == $liste[$key-1]['ergebnis'])
- {
- if ($liste[$key]['differenz'] == $liste[$key-1]['differenz'])
- {
- if ($liste[$key]['tendenz'] == $liste[$key-1]['tendenz'])
- {
- if ($liste[$key]['bonus'] == $liste[$key-1]['bonus'])
- {
- $bSame=true;
- }
- }
- }
- }
- }
- }
- }
- if (!$bSame) {
- $rang = $rangTemp;
- }
- $liste[$key]['rang'] = $rang;
- $rangTemp++;
- }
- return $liste;
- }
Dadurch wird, wie du ja in deinem Beitrag geschrieben hast, bei komplette Gleichheit von mehren Usern nicht durchnummeriert.
Allerdings, wie im ersten Post beschrieben die Ränge springen sofort von 11 auf 15.
-
Bitte mal damit ersetzen
Code- function CalcRanglistenRangNeu($liste) {
- $count = count($liste);
- $rang = 1;
- $rangTemp = 1;
- for ($key = 0; $key < $count; $key++)
- {
- if ($key == 0) {
- $liste[$key]['rang'] = 1;
- } else {
- $bSame = false;
- if ($liste[$key]['punkte'] == $liste[$key-1]['punkte'])
- {
- if ($liste[$key]['tipps'] == $liste[$key-1]['tipps'])
- {
- if ($liste[$key]['ergebnis'] == $liste[$key-1]['ergebnis'])
- {
- if ($liste[$key]['differenz'] == $liste[$key-1]['differenz'])
- {
- if ($liste[$key]['tendenz'] == $liste[$key-1]['tendenz'])
- {
- if ($liste[$key]['bonus'] == $liste[$key-1]['bonus'])
- {
- $bSame=true;
- }
- }
- }
- }
- }
- }
- }
- if (!$bSame) {
- $rang = $rangTemp;
- }
- $liste[$key]['rang'] = $rang;
- $rangTemp++;
- }
- return $liste;
- }
das "-1" muss da weg. Dann neu berechnen
-
Perfekt, genau das wars, jetzt passt alles.
Wenn du mir jetzt noch sagen könntest, was ich bei dem Problem Rangliste mit Usern die bezahlt haben falsch machen bist du mein Held.
Nein Spass bei Seite, vielen Dank für deine Unterstützung.