function show_wahlen($row) { extract($row); $wahl_file = str_replace(" ", "_", $wahl_name_kurz); $listen_gueltig = $stimmen_gesamt - $stimmzettel_ungueltig - $listen_ungueltig; $listen_summe = $listen_gueltig - $listen_enthaltungen; $kandidaten_gueltig = $stimmen_gesamt - $stimmzettel_ungueltig - $kandidaten_ungueltig; $kandidaten_summe = $kandidaten_gueltig - $kandidaten_enthaltungen; if (simple_query("SELECT count(*) FROM liste " . "WHERE wahl = {$wahl_id}") > 1) { head($wahl_name_kurz . " (Listen)", "{$wahl_file}-listen.html"); // Gesamt-Informationen print "Wahlberechtigte: {$wahlberechtigt}, " . "abgegebene Stimmzettel: {$stimmen_gesamt}, " . "Wahlbeteiligung: " . percent($stimmen_gesamt, $wahlberechtigt) . "%" . "<BR>\n" . "ungültige Stimmzettel: {$stimmzettel_ungueltig}, " . "ungültige Stimmen: {$listen_ungueltig} " . "gültige Stimmen: {$listen_gueltig}, " . "<BR>\n" . "Enthaltungen: {$listen_enthaltungen} " . "<BR>\n"; // Listen-Tabelle print "<TABLE><TR valign=top>" . "<TD><TABLE cellpadding=2>" . "<TR>" . "<TD>Liste</TD>" . "<TD colspan=2>Stimmen</TD>" . "<TD>Sitze</TD>" . "</TR>\n"; do_query("SELECT liste.name_kurz, anzeige_red as r, " . "anzeige_green as g, anzeige_blue as b, " . "sitze, los, " . "sum(liste_urne.stimmen) AS stimmen, " . "{$listen_summe} AS summe " . "FROM liste, urne, liste_urne " . "WHERE liste.id = liste_urne.liste " . "AND urne.id = liste_urne.urne " . "AND urne.status = " . $GLOBALS["ok_status"] . " " . "AND wahl = {$wahl_id} " . "GROUP BY liste.id " . "ORDER by liste.nummer", show_listen); print "</TABLE>"; $num_los = simple_query("SELECT los FROM liste " . "WHERE wahl = {$wahl_id} " . "AND los > 0"); if ($num_los > 0) { print "(+1): ggf. +1 von {$num_los} Restsitzen " . "per Los\n"; } print "</TD>\n" . "<TD width=20></TD>\n"; // Listen-Graph $chart = array(); do_query_pass("SELECT sitze, " . "anzeige_red, anzeige_green, anzeige_blue " . "FROM liste " . "WHERE wahl = {$wahl_id} " . "ORDER by liste.anzeige_nummer", set_listen_chart, $chart); if ($num_los > 0) { array_push($chart, $num_los, 0.5, 0.5, 0.5); } print "<TD>"; piechart(400, 200, $chart, "{$wahl_file}-liste.png"); image("{$wahl_file}-liste.png"); print "</TD></TR>\n" . "</TABLE>\n" . "<BR>\n"; foot(); } // Kandidaten head($wahl_name_kurz, "{$wahl_file}-kandi.html"); // Gesamt-Daten print "Wahlberechtigte: {$wahlberechtigt}, " . "abgegebene Stimmzettel: {$stimmen_gesamt}, " . "Wahlbeteiligung: " . percent($stimmen_gesamt, $wahlberechtigt) . "%" . "<BR>\n" . "ungültige Stimmzettel: {$stimmzettel_ungueltig}, " . "ungültige Stimmen: {$kandidaten_ungueltig}, " . "gültig: {$kandidaten_gueltig} " . "<BR>\n"; if ($max_stimmen_wert == 1) { print "Enthaltungen: {$kandidaten_enthaltungen} " . "<BR>\n"; } // Kandidaten print "<p><div class=\"auswert_tab\"><TABLE><TR valign=top>\n"; do_query("SELECT liste.id AS liste_id, " . "liste.name_kurz AS liste_name_kurz, " . "anzeige_red AS r, " . "anzeige_green AS g, " . "anzeige_blue AS b, " . "kandidat.status AS status, " . "kandidat.vorname AS kandidat_vorname, " . "kandidat.nachname AS kandidat_nachname, " . "sum(kandidat_urne.stimmen) AS stimmen " . "FROM liste, kandidat, urne, kandidat_urne " . "WHERE kandidat.id = kandidat_urne.kandidat " . "AND urne.id = kandidat_urne.urne " . "AND liste.id = kandidat.liste " . "AND urne.status = " . $GLOBALS["ok_status"] . " " . "AND liste.wahl = {$wahl_id} " . "GROUP BY kandidat.id " . "ORDER BY liste.nummer, status, stimmen DESC, " . "kandidat.listenplatz", show_kandidaten); print "</TR></TABLE></div></p>\n"; if ($num_los != 0) { print "(*): {$num_los} Restsitze werden per Los auf " . "die gekennzeichneten Listen verteilt.<BR>"; } foot(); }
function do_query($query, $function) { do_query_pass($query, $function, $tmp); }
<?php /* (c) 2003, 2004 Kristof Koehler <*****@*****.**> Published under GPL */ include "dbconfig.php"; include "querysys.php"; function show_csv($row, $pass) { print implode(', ', array_slice($row, 0, $pass)) . "\n"; } print "\n<NEWFILE raw-wahlen.csv Rohdaten Wahlen>\n"; print "Wahl, Wahlberechtigte, Fakultaet, Urne, " . "Stimmzettel, Ungueltige Stimmzettel, " . "Ungueltige Listenstimmen, Enthaltungen Listenstimmen, " . "Ungueltige Kandidatenstimmen, Enthaltungen Kandidatenstimmen\n"; $n = 10; do_query_pass("SELECT wahl.name_kurz, " . "wahlberechtigt, " . "urne.fakultaet, urne.nummer, " . "wahl_urne.stimmzettel, " . "wahl_urne.stimmzettel_ungueltig, " . "wahl_urne.listen_ungueltig, " . "wahl_urne.listen_enthaltungen, " . "wahl_urne.kandidaten_ungueltig, " . "wahl_urne.kandidaten_enthaltungen " . "FROM wahl, urne, wahl_urne " . "WHERE wahl_urne.wahl = wahl.id " . "AND wahl_urne.urne = urne.id " . "AND urne.status=" . $GLOBALS["ok_status"] . " " . "ORDER BY wahl.name_kurz, " . "urne.fakultaet, urne.nummer, urne.id", show_csv, $n); print "\n<NEWFILE raw-listen.csv Rohdaten Listenstimmen>\n"; print "Wahl, Liste, Fakultaet, Urne, Stimmen\n"; $n = 5; do_query_pass("SELECT wahl.name_kurz AS wahl_name, " . "liste.name_kurz AS liste_name, " . "urne.fakultaet, urne.nummer, " . "liste_urne.stimmen " . "FROM wahl, liste, urne, liste_urne " . "WHERE liste_urne.liste = liste.id " . "AND liste_urne.urne = urne.id " . "AND wahl.id = liste.wahl " . "AND urne.status=" . $GLOBALS["ok_status"] . " " . "ORDER BY wahl.name_kurz, liste.nummer, liste.id, " . "urne.fakultaet, urne.nummer, urne.id", show_csv, $n); print "\n<NEWFILE raw-kandidaten.csv Rohdaten Kandidierendenstimmen>\n"; print "Wahl, Liste, Kandidat Nachname, Kandidat Vorname, Fakultaet, Urne, Stimmen\n"; $n = 7; do_query_pass("SELECT wahl.name_kurz AS wahl_name, " . "liste.name_kurz AS liste_name, " . "kandidat.nachname, " . "kandidat.vorname, " . "urne.fakultaet, urne.nummer, " . "kandidat_urne.stimmen " . "FROM wahl, liste, kandidat, urne, kandidat_urne " . "WHERE kandidat_urne.kandidat = kandidat.id " . "AND kandidat_urne.urne = urne.id " . "AND wahl.id = liste.wahl " . "AND liste.id = kandidat.liste " . "AND urne.status=" . $GLOBALS["ok_status"] . " " . "ORDER BY wahl.name_kurz, liste.nummer, liste.id, " . "kandidat.listenplatz, kandidat.id, " . "urne.fakultaet, urne.nummer, urne.id", show_csv, $n);
print "<TR>" . colorTD($fakultaet, "left", 0.9, 0.9, 0.9) . "\n"; } print colorTD("<B>{$nummer}</B>" . (isset($stimmen) ? " ({$stimmen})" : " "), "left", $red, $green, $blue) . "\n"; if ($fakultaet_) { print "</TR>\n"; } } function set_chart($row, &$chart) { extract($row); array_push($chart, $sum, $red, $green, $blue); } function show_legende($row) { extract($row); print colorTD("{$name}", "center", $red, $green, $blue) . "\n"; } section("Status der Urnen"); print "<TABLE border=0 cellpadding=3>\n"; do_query("SELECT fakultaet, nummer, stimmen, " . "urne_status.name AS status_name, " . "red, green, blue FROM urne, urne_status " . "WHERE urne.status = urne_status.id " . "ORDER BY fakultaet, nummer", show_urnen); print "</TABLE><BR>\n"; section("Status der Stimmen"); $chart = array(); do_query_pass("SELECT sum(stimmen) AS sum, red, green, blue " . "FROM urne, urne_status " . "WHERE urne.status = urne_status.id " . "GROUP BY urne_status.id " . "ORDER BY urne_status.id ", set_chart, $chart); barchart(400, 20, $chart, "stimmenstatus.png"); image("stimmenstatus.png"); print "<BR><TABLE border=0 cellpadding=3><TR>\n"; print colorTD("Legende:", "left", 0.9, 0.9, 0.9) . "\n"; do_query("SELECT * FROM urne_status ORDER BY id", show_legende); print "</TR></TABLE><BR>\n"; foot();
extract($row); if ($_fakultaet) { print "<TR><TD>{$fakultaet}</TD>\n"; $pass = array(); } array_push($pass, $stimmen, $r, $g, $b); if ($fakultaet_) { print "<TD>\n"; ## Wenn Fakultät einen Slash enthält, ersetze durch Unterstrich $fakultaet = str_replace("/", "_", $fakultaet); barchart(200, 15, $pass, "stupa-fak-{$fakultaet}.png"); image("stupa-fak-{$fakultaet}.png"); print "</TD></TR>\n"; } } function show_legende($row) { extract($row); print colorTD($name_kurz, "center", $r, $g, $b) . "\n"; } $pass = array(); head("StuPa nach Fakultäten", "stupa-fak.html"); print "<TABLE>"; do_query_pass("SELECT urne.fakultaet, sum(liste_urne.stimmen) AS stimmen, " . "anzeige_red AS r, anzeige_green AS g, anzeige_blue AS b " . "FROM wahl, liste, urne, liste_urne " . "WHERE liste_urne.liste = liste.id " . "AND liste_urne.urne = urne.id " . "AND wahl.id = liste.wahl " . "AND urne.status=" . $GLOBALS["ok_status"] . " " . "AND wahl.name_kurz = 'StuPa' " . "GROUP BY fakultaet, anzeige_nummer, liste.id", show_stupa_fak, $pass); print "</TABLE>\n"; print "<BR>\n"; print "<TABLE><TR>"; print colorTD("Legende:", "left", 0.9, 0.9, 0.9) . "\n"; do_query("SELECT liste.name_kurz, " . "anzeige_red AS r, anzeige_green AS g, anzeige_blue AS b " . "FROM wahl, liste " . "WHERE wahl.id = liste.wahl " . "AND wahl.name_kurz = 'StuPa' " . "ORDER BY anzeige_nummer, liste.id", show_legende); print "</TR></TABLE><BR>\n"; foot();