EM Tipp 2020 - Archiv Rangliste

Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!

  • Hallo Zusammen,

    ich habe in dem anderen Beitrag die Datei für eine Archiv Rangliste bekommen.


    Das sieht auch echt super aus, jetzt muss ich es aber noch etwas an meine Voraussetzungen anpassen. Das heisst:


    Ich will die emtipp2020_users mit der rangliste_2018 über das Feld real_name verbinden (ich habe auch in der emtipp2020_user ein zusetzliches Feld real_name ergänzt.


    Wann ich die Verknüpfung in die Datei vom oberen Beitrag anpasse kommt gar keine Ausgabe der User mehr raus.


    Kann hier vielleicht mal jemand drauf schauen, wo ich den Fehler noch mache. Ich finde ihm nämlich einfach nicht.


    Vielen Dank im Voraus.

  • Danke für die Datei. Aber ich verstehe glaube ich den Aufbau noch nicht so recht.


    Hast du wirklich eine eigene Tabelle "rangliste_ewig" aufgemacht, wo du die ewige Rangliste nochmal manuell eingibst? Wenn ja könntest du mir den SQL Befehl für die Anlage mal zeigen?

  • Danke für die Datei. Aber ich verstehe glaube ich den Aufbau noch nicht so recht.


    Hast du wirklich eine eigene Tabelle "rangliste_ewig" aufgemacht, wo du die ewige Rangliste nochmal manuell eingibst? Wenn ja könntest du mir den SQL Befehl für die Anlage mal zeigen?

    ja, ich habe eine eigene, separate tabelle, die alle jemals teilnehmenden user enthält und deren ergebnisse (gesamtpunktzahl) der einzelnen tippspiele. tabelle ist manuell befüllt. diese tabelle ist die basis für die ewige rangliste (wie oben).


    zudem habe ich je eine tabelle für jedes alte tippspiel, welches die ergebnisse im detail des jeweiligen tippspiels zeigt.


    sql der tabelle wie folgt

  • Danke schon mal für die Rückantwort und die sql übersicht.


    Ich befürchte nur gerade, dass wir unterschiedliche Voraussetzungen in den Tabellen haben. Ich gehe jetzt mal davon aus, dass du in der emtipp.user alle jemals vorhandenen User drin hast oder? Ich dagegen habe in dieser Tabelle nur die für das Tippspiel EM 2020 registrierten User.


    Ich glaube das wird jetzt echt schwierig das bei mir umzusetzen.


    Um mal zu schauen wie ich das angehen muss habe ich jetzt folgenden Code benutzt:



    Meine SQL Tabelle sieht so aus:


    CREATE TABLE `rangliste_ewig` (

    `id` int(11) NOT NULL,

    `userID` int(10) NOT NULL DEFAULT 0,

    `userName` varchar(250) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '',

    `wmpokal` tinyint(4) DEFAULT NULL,

    `empokal` tinyint(4) DEFAULT NULL,

    `wm2014` int(10) NOT NULL DEFAULT 0,

    `em2016` int(10) NOT NULL DEFAULT 0,

    `wm2018` int(10) NOT NULL DEFAULT 0

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;




    Damit bekomme ich aber folgende Fehlermeldungen:


    Notice: Undefined variable: row in /www/htdocs/xxx/manuel-mannheim/tippspiel-em2020/content/rangliste.archiv.php on line 24


    Notice: Undefined variable: row in /www/htdocs/xxx/manuel-mannheim/tippspiel-em2020/content/rangliste.archiv.php on line 25



    Notice: Undefined index: id in /www/htdocs/xxx/manuel-mannheim/tippspiel-em2020/content/rangliste.archiv.php on line 49


    Notice: Undefined variable: userID in /www/htdocs/xxx/manuel-mannheim/tippspiel-em2020/content/rangliste.archiv.php on line 53


    Fatal error: Uncaught Error: Call to a member function fetch_array() on bool in /www/htdocs/xxx/manuel-mannheim/tippspiel-em2020/content/rangliste.archiv.php:54 Stack trace: #0 /www/htdocs/xxx/manuel-mannheim/tippspiel-em2020/include/inc.content.php(596): include() #1 /www/htdocs/xxx/manuel-mannheim/tippspiel-em2020/index.php(1226): createSiteContent() #2 {main} thrown in /www/htdocs/xxx/manuel-mannheim/tippspiel-em2020/content/rangliste.archiv.php on line 54




    Ich verstehe jetzt nicht ganz warum da manche Fehler kommen.

  • Ich würde gerne für mich auch eine "ewige Bestenliste" machen dafür möchte ich keine DB nutzen.

    Ich habe die Ergebnisse der letzten Jahre. Um das Ganze aber vergleichbar zu machen (bei einer WM gibt es halt mehr Punkte als bei einer EM) bräuchte ich noch die Gesamtzahl an Punkten, die bei der EM 2016 und bei der WM 2018 inkl Bonus zu erreichen waren.

    Damit ich ein Ranking aufbauen kann.

    Weiss evtl. noch jemand wieviel Punkte maximal 2016 2018 und auch 2020 möglich gewesen wären?

  • Ich würde gerne für mich auch eine "ewige Bestenliste" machen dafür möchte ich keine DB nutzen.

    Ich habe die Ergebnisse der letzten Jahre. Um das Ganze aber vergleichbar zu machen (bei einer WM gibt es halt mehr Punkte als bei einer EM) bräuchte ich noch die Gesamtzahl an Punkten, die bei der EM 2016 und bei der WM 2018 inkl Bonus zu erreichen waren.

    Damit ich ein Ranking aufbauen kann.

    Weiss evtl. noch jemand wieviel Punkte maximal 2016 2018 und auch 2020 möglich gewesen wären?

    kommt drauf an, mit welcher einstellung du spielst bzw gespielt hast.

    ich spiele z.B. immer mit 5 richtiger Tipp/ 3 Differenz und 2 Tendenz, ich weiche hier also vom standard ab. dann kannst du eventuell auch noch die bonustipps anders konfigurieren…


    wie mòchtest du es vergleichbar machen? also punkte je tippspiel zu max punkte des tippspiels?

  • in zeile 24/25 wird referenziert auf den pokale-mod.. dieser sollte eingebaut sein, dann sollte dieser fehler nicht erscheinen.

  • Danke für die schnelle Antwort.

    Wir haben immer nur mit den Standard Einstellungen getippt . Also 3-2-1 und Bonus wurde auch nichts verändert.

    Vergleichbar so wie du geschrieben hast. Erreichte Punkte im Tunier durch max Punkte im Tunier.

  • hi zusammen,


    ich habe eine Frage, bei der mir sicherlich welche weiterhelfen können, die mit sql gut vertraut sind.

    Situation:

    • es geht um eine rangliste der letzten 5 events (also um die letzten 5 gespielten Tippspiele und um das aktuelle Tippspiel, eigentlich 6 Events)
    • dabei sollen alle tipper gezeigt werden, die bei diesen 5 tippspielen (2018, 2016, 2014, 2012 und 2010] dabei waren und Punkte erzielt haben (es gibt tipper, die waren nur in 2006 dabei und sollen nicht enthalten sein)
    • Zudem sollen die Tipper des aktuellen Tippspiels gezeigt werden, die aktiv sind und bezahlt haben. die tipper sollen auch gezeigt werden, wenn sie 0 Punkte haben.
    • ich habe eine tabelle ewige_rangliste, in der alle jemals teilgenommenen user sind und all deren punkte der einzelnen tippspiele. aktuell sind es 7 Tippspiele, die bereits gespielt wurden, das 8. Tippspiel läuft gerade)
    • und natürlich gibt es die ranglisten_tabelle des aktuellen tippspiels

    Bei der sql-Abfrage baue ich auf auf die abfrage der ewigen rangliste (hier auch weiter oben beschrieben), ich schaffe es aber nicht, die Spieler auszublenden, die in den spielen 2010-2018 keine punkte erzielt haben.


    sql abfrage abfrage wie folgt:

    diese Rangliste zeigt bei mir folgendes:


    pasted-from-clipboard.png


    die grau hinterlegten (nehmen am aktuelken Tippspiel nicht teil) sollen nicht mehr erscheinen.

    hat hier jemand eine idee?

  • Ich habe da vielleicht einen Tipp für dich, aber kann es gerade noch nicht 100% testen, weil ich den neuen Menüpunkt nicht aktiviert bekomme.


    Vielleicht kannst du mir kurz sagen, wie du den neuen Menüpunkt eingebunden hast (also wo auch überall und wie? dann kann ich schnell fertig testen und geb dir dann das Ergebnis.

  • Ich habe da vielleicht einen Tipp für dich, aber kann es gerade noch nicht 100% testen, weil ich den neuen Menüpunkt nicht aktiviert bekomme.


    Vielleicht kannst du mir kurz sagen, wie du den neuen Menüpunkt eingebunden hast (also wo auch überall und wie? dann kann ich schnell fertig testen und geb dir dann das Ergebnis.

    Ok, um es in das Menü zu bekommen muss man folgende Dateien anpacken:


    rangliste.menue.php

    Nach den Bonuswetten gibt es ein neues Menü "Ewige Rangliste", welches wiederum verschiedene Untermenüs hat.



    inc.content.php

    Nach den Bonuswetten ewig eingebaut.

  • Ok aber ich kriege es irgend wie trotzdem noch nicht zum laufen.


    Vieleicht kurz zur meinen Voraussetzungen:


    meine Dateien heißen:

    content/rangliste.archiv.2014.wm.php

    content/rangliste.archiv.2016.em.php

    content/rangliste.archiv.2018.wm.php

    content/rangliste.archiv.php = zu vergleichen mit deiner ewig

    content/rangliste.archiv.immer.teilgenommen.php = zu vergleichen mit deiner ewig_5ew


    content/rangliste.menu.php sieht so aus:

    PHP
    1. <a class="nav<?php echo ($RUNTIME['PATH'][1] == "ranglisten_archiv" ? " active" : "")?>">Ranglisten Archiv
    2. <a class="nav sub<?php echo ($RUNTIME['PATH'][2] == "rangliste.archiv" ? " active" : "")?>" href="<?php echo $CONFIG['PATH'].gLink()?>rangliste/archiv">Ewige Rangliste</a>
    3. <a class="nav sub<?php echo ($RUNTIME['PATH'][2] == "rangliste.archiv.immer.teilgenommen" ? " active" : "")?>" href="<?php echo $CONFIG['PATH'].gLink()?>rangliste/archiv/immer/teilgenommen">Ewige Rangliste wenn immer teilgenommen</a>
    4. <a class="nav sub<?php echo ($RUNTIME['PATH'][2] == "rangliste.archiv.2018.wm" ? " active" : "")?>" href="<?php echo $CONFIG['PATH'].gLink()?>rangliste/archiv/2018/wm/">WM 2018</a>
    5. <a class="nav sub<?php echo ($RUNTIME['PATH'][2] == "rangliste.archiv.2016.em" ? " active" : "")?>" href="<?php echo $CONFIG['PATH'].gLink()?>rangliste/archiv/2016/em/">EM 2016</a>
    6. <a class="nav sub<?php echo ($RUNTIME['PATH'][2] == "rangliste.archiv.2014.wm" ? " active" : "")?>" href="<?php echo $CONFIG['PATH'].gLink()?>rangliste/archiv/2014/wm/">WM 2014</a>


    include/inc.content.php sieht so aus:




    Aber egal ob ich jetzt "Ewige Rangliste" oder "Ewige Rangliste wenn immer teilgenommen" anklicke wird immer die archiv.php angezeigt.


    Irgendwo habe ich noch etwas falsch verstanden.


    Vielleicht kannst du mir hier noch helfen. Dann kann ich meine Idee weiter testen.

  • Da muß es irgendwo eine Spalte Activ oder so geben, wo die Tipper halt freigegeben wurden. Einfach ein Where 'active' =1 oder so

    Die Tipper sind auf dieses Menü alle freigegeben, das activ steht noch weiter oben.

    Der Übersichkeit halber die 3 Dateien aus meinem Tippspiel als zip anbei. Zudem gibt es dann natürlich noch je eine Datei für die Jahre 2006-2018 und eine separate Tabelle für die ewige Rangliste.

  • So jetzt konnte ich es testen.


    Ich habe in der Datei bei dir ewig5.php


    in den Teil:


    Code
    1. LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."rangliste_boni tb2 ON tb2.uid = tb1.userID
    2. ORDER BY gesPoints DESC");


    noch ein Where intergriert sieht dann so aus:


    Code
    1. LEFT JOIN ". $CONFIG['MYSQL']['PREFIX'] ."rangliste_boni tb2 ON tb2.uid = tb1.userID
    2. where tb1.wm2014 > '0' and tb1.em2016 > '0' and tb1.wm2018 > '0' and tb2.pkt > '0'
    3. ORDER BY gesPoints DESC");

    Dadurch werden nur die User angezeigt, die alle Tippspiele mitgemacht haben.


    Pass aber bitte auf du musst in der Where natürlich noch ein paar abfragen ergänzen, weil du weiter zurück gehst als ich.


    Ich hoffe ich habe dein Anliegen jetzt auch richtig verstanden gehabt.

Tags