Team Comparisation v1.6

In diesem Forum werden Probleme oder Fragen zu Addons des LMO's behandelt.
Benutzeravatar
opsius
LMO-Neuling
LMO-Neuling
Beiträge: 20
Registriert: So 8. Dez 2024, 23:11

Re: Team Comparisation v1.6

Beitrag von opsius »

stats_view.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
DwB
Fortgeschrittener LMO-Benutzer
Fortgeschrittener LMO-Benutzer
Beiträge: 348
Registriert: Mi 9. Sep 2020, 13:53

Re: Team Comparisation v1.6

Beitrag von DwB »

So we need to dig a bit further.
First of all: you don't need the files stats_viewp0.php, stats_viewp_1.php and stats_viewp_save.php, these are some backup files aof the PDF-addon for the team comparisation.

Now what you have to do is a bit debugging with some output.
Find in the stats_view.php the following lines (270-274):

Code: Alles auswählen

                if ($yPartie->hToreString() == $yPartie->gToreString()) {
                    if ($yPartie->hToreString() != $tordummy) {
                        $aunentschiedenh = $aunentschiedenh + 1;
                    }
                }
and change them to

Code: Alles auswählen

                if ($yPartie->hToreString() == $yPartie->gToreString()) {
                    echo "equal result of " . $yPartie->hToreString() . " vs. " . $yPartie->gToreString();
                    echo "and by the way: tordummy is " . $tordummy;
                    if ($yPartie->hToreString() != $tordummy) {
                        $aunentschiedenh = $aunentschiedenh + 1;
                    }
                }
Might be a good idea to change the code in line 345-350 (looks almost the same) with the 2 extra lines as well.

Try again and have a look in the output, you should see some extra lines.
Benutzeravatar
opsius
LMO-Neuling
LMO-Neuling
Beiträge: 20
Registriert: So 8. Dez 2024, 23:11

Re: Team Comparisation v1.6

Beitrag von opsius »

Skjermbilde.png
equal result of _ vs. _and by the way: tordummy is _
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
DwB
Fortgeschrittener LMO-Benutzer
Fortgeschrittener LMO-Benutzer
Beiträge: 348
Registriert: Mi 9. Sep 2020, 13:53

Re: Team Comparisation v1.6

Beitrag von DwB »

Have you made the changes on line 346-350 as well?
Benutzeravatar
opsius
LMO-Neuling
LMO-Neuling
Beiträge: 20
Registriert: So 8. Dez 2024, 23:11

Re: Team Comparisation v1.6

Beitrag von opsius »

Skjermbilde.png
Then I got this results, and even two more matches was missing
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
opsius
LMO-Neuling
LMO-Neuling
Beiträge: 20
Registriert: So 8. Dez 2024, 23:11

Re: Team Comparisation v1.6

Beitrag von opsius »

Skjermbilde.png
But another match earlier I saw missing two 0-0 draws was this one. With the changes they are in the stats, but it is missing six away matches in the output. All the matches with win or a draw by Newcastle is not shown in the away-stats for Man Utd
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
DwB
Fortgeschrittener LMO-Benutzer
Fortgeschrittener LMO-Benutzer
Beiträge: 348
Registriert: Mi 9. Sep 2020, 13:53

Re: Team Comparisation v1.6

Beitrag von DwB »

well that's strange.

Could you send me temporarily access toyour server with an user and a password you delete afterwards? I think I have to check some other things with some output.

I tried to create the same situation on my side, I can't get to this certain point.
Benutzeravatar
DwB
Fortgeschrittener LMO-Benutzer
Fortgeschrittener LMO-Benutzer
Beiträge: 348
Registriert: Mi 9. Sep 2020, 13:53

Re: Team Comparisation v1.6

Beitrag von DwB »

Never mind, I found a league myself with an equal match 0:0 and have the same strange output.

I'll have a closer look tomorrow, it seems there is a bug the addon.

Edit: my fault, it was a missing entry in the .stats-file I created with mass creation script, so not your specific problem. Please proceed as mentioned before and send some credentials to login to your server.
Zuletzt geändert von DwB am So 29. Dez 2024, 01:03, insgesamt 1-mal geändert.
Benutzeravatar
Henshingly
Administrator
Administrator
Beiträge: 600
Registriert: Sa 1. Sep 2018, 14:21
Wohnort: Dortmund

Re: Team Comparisation v1.6

Beitrag von Henshingly »

Ich muss gestehen das ich den TeamVergleich nicht mit PHP 7.4 getestet habe.
Diese PHP Version scheint ja bei opsius zu laufen.
Mal sehen ob ich das heute noch schaffe dieses zu testen.

Ich melde mich.
Henshingly
Kein Support über PN oder eMail.
Support gibt es nur im Forum.

Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)

Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Benutzeravatar
Henshingly
Administrator
Administrator
Beiträge: 600
Registriert: Sa 1. Sep 2018, 14:21
Wohnort: Dortmund

Re: Team Comparisation v1.6

Beitrag von Henshingly »

php7.4.png
Ohne PHP Fehler aber mit fehlerhafter Ausgabe unter PHP 7.4.15
Der gleiche LMO ohne Änderungen nur unter PHP 8.0.2
php8.0.png

Es liegt also an der PHP Version. Ich weiß aber noch nicht wo der Fehler liegt, weil PHP keinen ausgibt.

Übrigens, die von DwB vorgeschlagene Änderung gibt bei mir unter PHP 7.4.15 folgendes aus.
DwB.png

Und unter PHP 8
DwB8.png

Gruß Henshingly

Teste weiter
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Henshingly am So 29. Dez 2024, 11:00, insgesamt 2-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.

Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)

Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Benutzeravatar
DwB
Fortgeschrittener LMO-Benutzer
Fortgeschrittener LMO-Benutzer
Beiträge: 348
Registriert: Mi 9. Sep 2020, 13:53

Re: Team Comparisation v1.6

Beitrag von DwB »

Okay, I installed a PHP-version below 8 locally and made some further debuging.
Solution: the comparisation of a numeric against a string causes the problem in PHP 7.x

change the following code

Code: Alles auswählen

if ($yPartie->hToreString() != $tordummy ) {
to

Code: Alles auswählen

if ($yPartie->hToreString() !== $tordummy ) {
now it checks if both values are EXACTLY not equal, that should solve your problem.

Personal advice: change to PHP 8.x if possible. There are new functions in PHP 8, they might come in handy with further development of the LMO. I don't think Henshingly will support the LMO using PHP 7 in the near future.
Benutzeravatar
opsius
LMO-Neuling
LMO-Neuling
Beiträge: 20
Registriert: So 8. Dez 2024, 23:11

Re: Team Comparisation v1.6

Beitrag von opsius »

Changed php to 8.0, and problem solved. Thanks a lot for all help and patient
Benutzeravatar
Henshingly
Administrator
Administrator
Beiträge: 600
Registriert: Sa 1. Sep 2018, 14:21
Wohnort: Dortmund

Re: Team Comparisation v1.6

Beitrag von Henshingly »

Habe den Code von DwB nochmal in die stats_view.php verändert eingetragen nun auch zweimal Zeile 270-274

Code: Alles auswählen

                if ($yPartie->hToreString() == $yPartie->gToreString()) {
                    if ($yPartie->hToreString() != $tordummy) {
                        $aunentschiedenh = $aunentschiedenh + 1;
                    }
                }
geändert nach

Code: Alles auswählen

                if ($yPartie->hToreString() == $yPartie->gToreString()) {
                    echo "equal result of " . $yPartie->hToreString() . " vs. " . $yPartie->gToreString() . "<br>";
                    echo "and by the way: tordummy is " . $tordummy . "<br><br>";
                    if ($yPartie->hToreString() != $tordummy) {
                        $aunentschiedenh = $aunentschiedenh + 1;
                    }
                }
Das gleiche auch in den Zeilen 346-350 geändert. Mit folgenden Ausgaben
PHP 7.4
DwB.png

PHP 8.0
DwB8.png

Warum er bei einem Unentschieden unter PHP 7.4 nicht die beiden Variablen
  • $aunentschiedenh
  • $aunentschiedenh
um einen Zähler hochzählt kann ich aber immer noch nicht verstehen.

Wenn ich die beiden if() Abfragen Zeile 271-273 und Zeilen 347-349

Code: Alles auswählen

                    if ($yPartie->hToreString() != $tordummy ) {
                        $aunentschiedena = $aunentschiedena + 1;
                    }
auskommentiere und sie ändere nach

Code: Alles auswählen

                    //if ($yPartie->hToreString() != $tordummy ) {
                        $aunentschiedena = $aunentschiedena + 1;
                    //}
zählt der Teamvergleich wenigstens alle gleichen Ergebnisse. Die beiden 0:0 Unentschieden und das noch nicht gewertete Spiel mit _:_
Screenshot 2024-12-29 at 12-59-44 .png

Teste weiter

Gruß Henshingly
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Henshingly am Sa 11. Jan 2025, 08:18, insgesamt 1-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.

Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)

Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Benutzeravatar
Henshingly
Administrator
Administrator
Beiträge: 600
Registriert: Sa 1. Sep 2018, 14:21
Wohnort: Dortmund

Re: Team Comparisation v1.6

Beitrag von Henshingly »

Da war ich noch am schreiben meines Postes als euren beiden Posts hereinkamen.
Okay ich habe nun die Version TV1.6.1 online gestellt die läuft nun auch unter PHP 7.4.x und PHP 8.0.x bis 8.2.x getestet.

Gruß Henshingly
Zuletzt geändert von Henshingly am So 29. Dez 2024, 13:24, insgesamt 3-mal geändert.
Kein Support über PN oder eMail.
Support gibt es nur im Forum.

Test LMO mit Standardzugang
(ist immer die aktuelle Github Version)

Test für zukünftige Eintragung nach Github
(ist die Testumgebung bevor es ein Commit gibt)
Benutzeravatar
DwB
Fortgeschrittener LMO-Benutzer
Fortgeschrittener LMO-Benutzer
Beiträge: 348
Registriert: Mi 9. Sep 2020, 13:53

Re: Team Comparisation v1.6

Beitrag von DwB »

https://www.php.net/manual/en/language. ... arison.php

Wichtig hier ist die Tabelle "Loose comparisons with =="

Schaust Du auf die linke Spalte in der Zeile mit 0 (als int) und gehst durch bis zum Vergleich mit einem String (hier php,; vorletzte Spalte) erhälst du als Ergebnis false, allerdings mit der Fußnote "true prior to PHP 8.0.0".

Das ist die Ursache, mit PHP v8 ist eine Abfrage auf equal ausreichend, da muss nicht zwingend auf identical geprüft werden (was sicherlich hilfreich ist).
Antworten