[BETA] [3.1] [3.2] Football Prediction League

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
Hegse
Mitglied
Beiträge: 262
Registriert: 05.06.2006 12:49
Wohnort: Liemke
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von Hegse »

Moin, kein Problem. Leider führt die Änderung zur nächsten Fehlermeldung :oops:

Code: Alles auswählen

SQL ERROR [ mysqli ]

Field 'delivery_date_2' doesn't have a default value [1364]

SQL

REPLACE INTO phpbb3_footb_matchdays (season, league, matchday, delivery_date, matchday_name, matches) SELECT m.season, m.league, m.matchday, min(m.match_datetime) AS delivery_date, md.matchday_name, md.matches FROM phpbb3_footb_matches AS m JOIN phpbb3_footb_leagues AS l ON (l.season = m.season AND l.league = m.league) JOIN phpbb3_footb_matchdays AS md ON (md.season = m.season AND md.league = m.league AND md.matchday = m.matchday) WHERE m.season = 2016 AND m.league = 40 AND l.bet_in_time = 1 AND m.status = 0 GROUP BY m.season, m.league, m.matchday

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/ext/football/football/acp/update_module.php
LINE: 525
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/includes/functions_module.php
LINE: 674
CALL: football\football\acp\update_module->main()

FILE: [ROOT]/adm/index.php
LINE: 81
CALL: p_master->load_active()
Benutzeravatar
football
Mitglied
Beiträge: 862
Registriert: 03.05.2009 10:37
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von football »

Zum Testen der EM kannst du dir die EM nochmals mit einer neuen Liganummer importieren und deinen User als Tipper aufnehmen.

Zeitreise in die Vergangenheit im phpMyAdmin (ggf. die league -Nummer und Tabelleprefix anpassen):

Code: Alles auswählen

Update phpbb_footb_matchdays 
SET delivery_date = DATE_FORMAT(DATE_SUB(delivery_date, INTERVAL '33 0:00' DAY_MINUTE),'%Y-%m-%d %H:%i:%s'),
delivery_date_2 = DATE_FORMAT(DATE_SUB(delivery_date_2, INTERVAL '33 0:00' DAY_MINUTE),'%Y-%m-%d %H:%i:%s'),
delivery_date_3 = DATE_FORMAT(DATE_SUB(delivery_date_3, INTERVAL '33 0:00' DAY_MINUTE),'%Y-%m-%d %H:%i:%s')  
WHERE season=2016
AND league=40;

Update phpbb_footb_matches 
SET match_datetime = DATE_FORMAT(DATE_SUB(match_datetime, INTERVAL '33 0:00' DAY_MINUTE),'%Y-%m-%d %H:%i:%s'),
goals_home = 2, 
goals_guest=1
WHERE season=2016
AND league=40;
Anschließend gehst du auf Tippen (damit die Spieltage den richtigen Status erhalten) und im Adminbereich bestätigst du die Ergebnisse der ersten drei Spieltage.
Wenn du dann auf Tippen ins Achtelfinale gehst, hat sich nichts verändert. :cry:
Das liegt aber daran, dass Platz 1 und 2 völlig identisch gespielt haben und somit kein 2. Platz ermittelt werden konnte.
Du änderst die Ergebnisse im ersten Spieltag auf 3:1 und speicherst und nun sollten die Mannschaften eingetragen werden.
Falls nicht, alle Ergebnisse im Achtelfinale im Adminbereich löschen dann sollte es gehen.
Jetzt hast du den Stand nach der Vorrunde.

Ist das Team im Achtelfinale eingetragen, wird es nicht mehr ersetzt, auch wenn du die Vorrundenergebnisse veränderst, sodass andere Mannschaften qualifiziert wären.
Du kannst aber im Achtelfinale die Mannschaft wieder austragen, dann wird neu berechnet.
Kein Support per PN oder E-Mail. Support-Anfragen beantworte ich nur über diese Community.
Benutzeravatar
football
Mitglied
Beiträge: 862
Registriert: 03.05.2009 10:37
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von football »

Hegse hat geschrieben:Moin, kein Problem. Leider führt die Änderung zur nächsten Fehlermeldung :oops:

Code: Alles auswählen

SQL ERROR [ mysqli ]

Field 'delivery_date_2' doesn't have a default value [1364]

SQL

REPLACE INTO phpbb3_footb_matchdays (season, league, matchday, delivery_date, matchday_name, matches) SELECT m.season, m.league, m.matchday, min(m.match_datetime) AS delivery_date, md.matchday_name, md.matches FROM phpbb3_footb_matches AS m JOIN phpbb3_footb_leagues AS l ON (l.season = m.season AND l.league = m.league) JOIN phpbb3_footb_matchdays AS md ON (md.season = m.season AND md.league = m.league AND md.matchday = m.matchday) WHERE m.season = 2016 AND m.league = 40 AND l.bet_in_time = 1 AND m.status = 0 GROUP BY m.season, m.league, m.matchday

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/ext/football/football/acp/update_module.php
LINE: 525
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/includes/functions_module.php
LINE: 674
CALL: football\football\acp\update_module->main()

FILE: [ROOT]/adm/index.php
LINE: 81
CALL: p_master->load_active()
Das ist doch wieder der erste Fehler, wenn man Tippabgabe bis zum Spielbeginn gewählt hat. Die Zeilennummer wundert mich nur ein wenig oder hast du meinen Änderungsvorschlag nur davor eingefügt anstatt zu ersetzen?
In diesem Modus benötigt das System ja den 2. und 3. Abgabetermin nicht. Also war mein Änderungsvorschlag Quark.
Die ursprünglichen Zeilen in ext\football\football\acp\update_module.php Zeilen 515 -525 sind durch folgendes zu ersetzen.

Code: Alles auswählen

                    $sql = 'REPLACE INTO ' . FOOTB_MATCHDAYS . " (season, league, matchday, delivery_date, delivery_date_2, delivery_date_3, matchday_name, matches)
                            SELECT m.season, m.league, m.matchday, min(m.match_datetime) AS delivery_date, '' AS delivery_date_2, '' AS delivery_date_3, md.matchday_name, md.matches 
                            FROM " . FOOTB_MATCHES . ' AS m
                            JOIN ' . FOOTB_LEAGUES . ' AS l ON (l.season = m.season AND l.league = m.league)
                            JOIN ' . FOOTB_MATCHDAYS . " AS md ON (md.season = m.season AND md.league = m.league AND md.matchday = m.matchday)
                            WHERE m.season = $season 
                            AND m.league = $league
                            AND l.bet_in_time = 1 
                            AND m.status = 0 
                            GROUP BY m.season, m.league, m.matchday";
                    $db->sql_query($sql);
Dann muss ich noch einmal Prüfen, ob auch die Status < 0 bei den Spielen auf 0 gesetzt werden müssten, oder ob dies dem System egal ist.
Ich habe diesen Modus leider nicht im Einsatz, daher treten jetzt diese alten Fehler auf. Könnte natürlich auch an deinen Server-Einstellungen oder
an einer geänderten Prüfung in einer neuen MYSQL Version liegen.
Kein Support per PN oder E-Mail. Support-Anfragen beantworte ich nur über diese Community.
Benutzeravatar
Hegse
Mitglied
Beiträge: 262
Registriert: 05.06.2006 12:49
Wohnort: Liemke
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von Hegse »

1000 Dank football, jetzt funktioniert alles wie es soll! :grin:
Ja ich hatte die die original update_module.php hiermit

Code: Alles auswählen

$sql = 'UPDATE ' . FOOTB_MATCHDAYS . " AS target
geändert und genommen. Wie schon mal geschrieben, in meiner Testumgebung mit dem Präfix phpbb funktionierte ja alles...

Was ich momentan interessant finde ist folgendes im Live Forum:

Code: Alles auswählen

Hinweis

10 Spieltags-Abgabetermine mit Tippabgabe bis zum Spielbeginn korrigiert.
An 5 Spieltagen wurde der Status angepasst.
und in der Testumgebung lokal unter Xampp:

Code: Alles auswählen

Hinweis

5 Spieltags-Abgabetermine mit Tippabgabe bis zum Spielbeginn korrigiert.
An 5 Spieltagen wurde der Status angepasst.
Das ganze jetzt für die EM....
Zumindest die Fehlermeldungen sind weg! :D
Benutzeravatar
football
Mitglied
Beiträge: 862
Registriert: 03.05.2009 10:37
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von football »

Die Zählweise bei REPLACE INTO ist nicht ganz so einfach. Je nach Index wird REPLACE INTO mit DELETE und INSERT (also 2 Datensätze betroffen)
oder als UPDATE (1 Datensatz betroffen) durchgeführt.
Kein Support per PN oder E-Mail. Support-Anfragen beantworte ich nur über diese Community.
Benutzeravatar
silberfuchs
Mitglied
Beiträge: 98
Registriert: 28.12.2008 14:50
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von silberfuchs »

So, ich habe Deine Anleitung zum Testen nun mal probiert - leider scheitere ich daran, dass ich beim Achtelfinale nicht mehr weiterkomme. Irgendwas muss ich wohl falsch machen...dort bleiben 4 Spielpaarungen mit jeweils einer Mannschaft, bei der "Auslosung" steht. Was mach' ich denn da falsch? Wie muss ich denn da weitermachen?

Danke Dir vielmals für Deine Hilfe!
Benutzeravatar
football
Mitglied
Beiträge: 862
Registriert: 03.05.2009 10:37
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von football »

Du gehst im Adminbereich auf "Teams verwalten", falls du mehrere Ligen hast wählst du die EM-Liga aus und klickst bei dem Team, das als drittplatzierter das
Achtelfinale erreicht hat, auf Einstellungen und setzte "Qualifiziert bis Spieltag:" auf Achtelfinale und speicherst ab.
Dies wiederholst du für alle 4 drittplatzierten.

Anschließend gehst du auf "Spielpläne verwalten", wählst EM und Achtelfinale aus und klickst bei den Spielen 38-41 (die mit dem D für Draw) jeweils auf Einstellungen
und wählst bei Gast nun das entsprechende Team und speicherst ab.

Welches Team in welcher Paarung eingesetzt werden muss, erfährst du bei den bekannten Fussball Internet-Seiten oder aus der guten alten Zeitung.

Nach dem Achtelfinale geht über die hinterlegten Formeln wieder alles automatisch, sobald du die richtigen Ergebnisse im Adminbereich bestätigt hast.
In der Regel tragen die Tipprundenteilnehmer bereits die Ergebnisse ein. Diese gelten aber nur als vorläufig (könnten ja falsch sein, oder ein Tipper wollten nur mal sehen, wie es aussieht falls die Spiele so ausgehen wie er getippt hat) und werden erst dann als endgültig für die Formelberechnung erkannt, wenn jemand sie im Adminbereich unter "Spielergebnisse eingeben" bestätigt oder korrigiert abgespeichert hat.
Damit nicht alle auf dich warten müssen, kannst du auch andere Tipper für die Speicherung oder auch Spielplanänderung im Adminbereich berechtigen.
Kein Support per PN oder E-Mail. Support-Anfragen beantworte ich nur über diese Community.
Benutzeravatar
silberfuchs
Mitglied
Beiträge: 98
Registriert: 28.12.2008 14:50
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von silberfuchs »

Super, jetzt jetzt klappt's! Danke Dir!

D.h. das muss man auf alle Fälle "manuell" machen.
Du gehst im Adminbereich auf "Teams verwalten", falls du mehrere Ligen hast wählst du die EM-Liga aus und klickst bei dem Team, das als drittplatzierter das
Achtelfinale erreicht hat, auf Einstellungen und setzte "Qualifiziert bis Spieltag:" auf Achtelfinale und speicherst ab.
Dies wiederholst du für alle 4 drittplatzierten.
forza sve
Mitglied
Beiträge: 257
Registriert: 03.12.2010 15:11
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von forza sve »

Hi. Es wäre vll. sinnvoll kurz und verständlich die Vorgehensweise nach Abschluss der Vorrunde zusammen zufassen und im Startpost zu platzieren....
Version: phpbb 3.2
www.bergwelt-alpen.de
Benutzeravatar
football
Mitglied
Beiträge: 862
Registriert: 03.05.2009 10:37
Kontaktdaten:

Re: [BETA] Football Prediction League

Beitrag von football »

Danke für deinen Hinweis.
Ich hoffe es ist verständlich:
Achtung: Im Achtelfinale der EM 2016 sind Korrekturen erforderlich

Falls der Spielplan auf der Demo-Seite zum Achtelfinale nicht aktuell sein sollte, vielleicht ist jemand hier bereit eine XML-Datei oder einen Link auf seine XML mit dem dann aktuellen Achtelfinale bereitzustellen.
Kein Support per PN oder E-Mail. Support-Anfragen beantworte ich nur über diese Community.
Antworten

Zurück zu „Extensions in Entwicklung“