Beiträge von FiedlWdd

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!

    Wegen dem usergroup musst du mal in der include/database.inc.php schauen, was da drin steht.


    Die Spieltagssieger-Tabelle sollte nicht leer sein. In Zeile 797 werden die Daten in diese Tabelle geschrieben. Habe dir im Anhang meine Daten für diese Tabelle angehangen.
    Die Tabelle saison_ranking darf auf keinen Fall leer sein. Da solltest du vielleicht ein Backup einspielen.

    Wenn du die Einstellungen so hast:

    Code
    1. $gewinn['aktiv'] = 1;
    2. $gewinn['tippgruppe'] = 0;
    3. $gewinn['tipper'] = 0;
    4. $gewinn['admin'] = 1;
    5. $gewinn['cfg_spltg'] = 0;
    6. $gewinn['hoechst'] = 1;
    7. $gewinn['hsystem'] = 0;
    8. $gewinn['tagessieger_teilung'] = 1;
    9. $gewinn['platzierung_geteilt'] = 0;


    Dann stehen links unter "Platzierungsgewinne" die Reihenfolge der User, die du auch unter Rangliste findest. So werden den Platzierten das Geld zugeordnet, was sie gewonnen haben.

    Dann füge mal die neue .php-Datei aus dem Anhang mit an.
    In deiner oben geschriebenen Abfrage habe ich eine kleine Änderung reingemacht, um mit den Usergruppen sicher zu gehen.


    Aber ich habe den Denkfehler gefunden, warum bei dir keine Tagessieger angezeigt werden:
    Du musst die "$gewinn['hoechst']" oder die "$gewinn['cfg_spltg']" auf 1 stellen. Denn wenn beide auf 0 sind, heißt das, das es keine Spieltagssieger geben soll, damit diese noch etwas Geld dazu bekommen.

    Dateien

    • gewinne.zip

      (8,98 kB, 7 Mal heruntergeladen, zuletzt: )

    Ich würde dir empfehlen, die aktuellste Version hier im Anhang herunterzuladen, denn es gibt keine Variable "$gewinn['tgname']" mehr.


    Da gibt es dann auch einen Punkt "Installation mit Bezahl-Tippgruppen", damit kannst du dann auch bestimmte Tippgruppen einstellen, die an dem Gewinn mitspielen.

    In diesem Beitrag nun der neue Code für die Spieltagsloser, womit auch der 1. Spieltag berechnet wird und hinter dem Namen in Klammern die Anzahl bis zu diesem Spieltag, wie oft der User schon der Spieltagsloser war.
    Ich erneuere mal den Code aus diesem Beitrag.


    Die Funktion "get_day_loser" fügst du in "include/functions.inc.php" ein, am besten unter die "get_day_winner"-Funktion:

    Code
    1. function get_day_loser ($start=1, $end=0, $sptg=0, $liga=0, $jahr=0){ global $tbl, $saison, $maxDay; if ($liga == 0) { $liga = $saison['liga']; } if ($jahr == 0) { $jahr = $saison['jahr2']; } $aktsptg = AktuellerSpieltag(); if ($end <= 0) { if ($start == 1) { $end = floor($maxDay / 2); } else { $end = $maxDay; } } elseif ($start > $end) { $stend = $start; $start = $end; $end = $stend; } for ($x = $start; $x <= $end; $x++) { $dayloser[$x] = array(); $dayloser[$x]['spieltag'] = $x; $dayloser[$x]['liga'] = $liga; $dayloser[$x]['saison'] = $jahr; $precalc_data = check_precalc('user_ranking', $x, $liga, $jahr); if ($precalc_data['id'] <= 0) { precalc_user_ranking($liga, $jahr, $x, 0, TRUE); } } // Herausfinden was der letzte Spieltag ist $sql_groesse = "SELECT spieltag" ." FROM ". $tbl['precalc'] ." WHERE saison = ". $jahr ." AND liga = ". $liga ." ORDER BY spieltag DESC" ." LIMIT 0, 1"; $result_groesse = mysql_query($sql_groesse); $anzahl_groesse = mysql_num_rows($result_groesse); $fetch_groesse = mysql_fetch_array($result_groesse); // Die letzten Plätze herausfinden for ($i=1; $i < $fetch_groesse['spieltag']+1; $i++) { $sql = "SELECT tb1.user_id, tb1.user_name, tb1.platz_1day, tb2.saison, tb2.liga, tb2.spieltag" ." FROM ". $tbl['saison_ranking'] ." tb1" ." INNER JOIN ". $tbl['precalc'] ." tb2 ON tb2.id = tb1.precalc_id " ." WHERE tb2.saison = ". $jahr ." AND tb2.liga = ". $liga ." AND tb2.spieltag = ". $i ." ORDER BY tb1.platz_1day DESC" ." LIMIT 0, 1"; $result = mysql_query($sql); while ($fetch = mysql_fetch_array($result)) { $array_spieltag[] = $fetch['spieltag']; $array_letzten_raenge[] = $fetch['platz_1day']; } } $anzahl_Count_Einzeln = count($array_letzten_raenge); // Zusammenfügen der User-Daten mit dem letzten Platz for ($u=0; $u < $anzahl_Count_Einzeln; $u++) { $spieltag_aus_array = $array_spieltag[$u]; $sql = "SELECT pre.liga, pre.saison, pre.spieltag, sr.user_name, sr.user_id, sr.fav, sr.platz_1day, sr.pkt_1day, sr.bon_1day, sr.pkt_live, sr.bon_live" ." FROM ". $tbl['saison_ranking'] ." AS sr" ." LEFT JOIN ". $tbl['precalc'] ." AS pre ON sr.precalc_id = pre.id" ." WHERE sr.platz_1day = '". $array_letzten_raenge[$u] ."'" ." AND pre.liga = '". mysql_real_escape_string($liga) ."'" ." AND pre.saison = '". mysql_real_escape_string($jahr) ."'" ." AND pre.spieltag = '". $spieltag_aus_array ."'" ." AND pre.spieltag >= '". mysql_real_escape_string($start) ."'" ." AND pre.spieltag <= '". mysql_real_escape_string($end) ."'" ." ORDER BY pre.spieltag, sr.platz_1day, sr.user_name"; $result = mysql_query($sql); if (mysql_num_rows($result) > 0) { while ($dw = mysql_fetch_array($result)) { if($spieltag_aus_array >= $start && $spieltag_aus_array <= $end) { $zaehler_loser = 0; for($sptg_vorher = 0; $sptg_vorher <= $spieltag_aus_array; $sptg_vorher++) { $spieltag_fuer_abfrage = $sptg_vorher + 1; $sql_ges = "SELECT pre.liga, pre.saison, pre.spieltag, sr.user_name, sr.user_id, sr.fav, sr.platz_1day, sr.pkt_1day, sr.bon_1day, sr.pkt_live, sr.bon_live" ." FROM ". $tbl['saison_ranking'] ." AS sr" ." LEFT JOIN ". $tbl['precalc'] ." AS pre ON sr.precalc_id = pre.id" ." WHERE sr.platz_1day = '". $array_letzten_raenge[$sptg_vorher] ."'" ." AND pre.liga = '". mysql_real_escape_string($liga) ."'" ." AND pre.saison = '". mysql_real_escape_string($jahr) ."'" ." AND pre.spieltag = '". $spieltag_fuer_abfrage ."'" ." ORDER BY pre.spieltag, sr.platz_1day, sr.user_name"; $result_ges = mysql_query($sql_ges); $anzahl_ges = mysql_num_rows($result_ges); while ($dw_ges = mysql_fetch_array($result_ges)) { if($dw_ges['user_id'] == $dw['user_id']) { $zaehler_loser++; } } } $dayloser[$dw['spieltag']]['loser'][$dw['user_id']]['user_name'] = $dw['user_name']; $dayloser[$dw['spieltag']]['loser'][$dw['user_id']]['user_id'] = $dw['user_id']; $dayloser[$dw['spieltag']]['loser'][$dw['user_id']]['fav'] = $dw['fav']; $dayloser[$dw['spieltag']]['loser'][$dw['user_id']]['rang_1day'] = $dw['rang_1day']; $dayloser[$dw['spieltag']]['loser'][$dw['user_id']]['pkt_1day'] = ($dw['pkt_1day'] - $dw['bon_1day'] - $dw['bon_live']); $dayloser[$dw['spieltag']]['loser'][$dw['user_id']]['ges_loser'] = $zaehler_loser; } } } else { if($spieltag_aus_array >= $start && $spieltag_aus_array <= $end) { $dayloser[$spieltag_aus_array]['loser'] = array(); } } } return $dayloser;}


    Und in die "willkommen_intern.php" schreibst du dieses:

    Oh sorry, hab das total vergessen.
    Als ich das gerade durchgegangen bin, bin auch schon auf Unstimmigkeiten gestoßen, muss nun aber gleich los zur Arbeit, werde mir das heute Abend einmal anschauen.


    Edit: Lade dir mal jetzt hier die neue .zip Datei herunter und füge die neue gewinne.php ein. Danach sollten sowohl die Platzierungen, als auch die richtigen Tipper für die Rückrunde da stehen.