msteudtn / Mat-O-Wahl

:de: Mat-O-Wahl - Ein einfach zu bedienender, freier Open Source Wahl-O-Mat Klon fuer jedermann ### :gb: :us: A simple to handle, free "Voting Advice Application" / "Electoral Compass" alternative
https://mat-o-wahl.de/
GNU General Public License v3.0
34 stars 15 forks source link

results.js/html so anpassen, dass Statistiken aus Datenbanktabelle visualisiert werden #18

Closed fenglisch closed 3 years ago

fenglisch commented 3 years ago

Aktuell scheint die results.html nur auf Daten zugreifen zu können, die in einer Text-Datei vorliegen. Wenn die statistische Auswertung über eine Datenbanktabelle erfolgt, entfallen damit die hilfreichen Features, die die results.html bietet

msteudtn commented 3 years ago

Ja, richtig. Die /results.html liest nur Daten aus der Beispiel-TXT-Datei (z.B. /extras/statistics/test.txt) mit Hilfe von /system/results.js.

Für den Zugriff auf eine Datenbank (MySQL, MariaDB, ...) müsste man wieder auf PHP o.ä. zurückgreifen. Das wäre dann wohl eine neue Datei /results.php. (Für die Ausgabe könnte man dann aber vielleicht wieder die bestehenden (Java-)Skripte nutzen. :) )

... hat auch Auswirkungen auf #19

msteudtn commented 3 years ago

Quick and Dirty-Lösung:

Im Merge #40 gibt es einen neuen Unterordner EXTRAS/STATISTICS_DB/ Dort befindet sich eine neue Datei READ_DB_WRITE_TEXT.PHP, welche die Daten aus der Datenbank in eine Textdatei schreibt. Die neue Textdatei kann nun von RESULTS.HTML ausgelesen werden.

Das Vorgehen ist auch in der README im Ordner EXTRAS/STATISTICS_DB/ beschrieben.

Die neuen Dateien liegen im aktuellen Entwicklungszweig der Version 0.6 - https://github.com/msteudtn/Mat-O-Wahl/tree/version-0.6-BMBF-PTF

fenglisch commented 3 years ago

Guter Einfall! Das würde tatsächlich den Wünschen genügen.

Beim Ausprobieren erhalte ich leider eine Fehlermeldung:

Current file path and file: /var/www/clients/client4176/web12117/web/db-stats/extras/statistics_db/read_db_write_text.php
Loading DB-Settings ...
Establishing Connection ...
Checking Connection ...
Query SQL ...

Notice: Trying to get property 'num_rows' of non-object in /var/www/clients/client4176/web12117/web/db-stats/extras/statistics_db/read_db_write_text.php on line 41
Error: 0 results
Closing Connection.
Cannot write to file results_db.txt

Hast du eine Idee, wo der Fehler sein kann?

msteudtn commented 3 years ago

Die Foren schlagen verschiedene Lösungsmöglichkeiten für die Fehlermeldung Trying to get property 'num_rows' of non-object vor.

Benutzt du die gleichen Tabellenfelder (Spalten) wie in der Standard-Installation? Also ip, timestamp, personal, parties? (Sie sind z.B. in extras/statistics/results_db.sql zu finden.)

Falls ja, dann könnte ich mir mal einen Datenbank-Export von dir anschauen. Mir reichen auch 2-5 anonymisierte Ergebnisse. z.B. vom Anfang und Ende. Im Export brauchen auch nur Nullen oder Unsinn drin stehen.

fenglisch commented 3 years ago

Ich hab den Fehler gefunden: Hab übersehen, dass der Name der Tabelle in der read_db_write_text.php geändert werden muss, was ja eigentlich logisch ist. Sei mir bitte nicht böse, aber das nehme ich mal als Anlass für ein weiteres Ticket ;-)