PHP für dich ist auch als Buch erhältlich - im handlichen Format, zum Nachschlagen, Mitnehmen oder gemütlichen nebenbei Lesen. Mit noch mehr Informationen und zusätzlichen Beispielen.
Jetzt bei Amazon oder BoD bestellen!
Schnipsel
PHP und mySQL - Umfrageergebnis grafisch darstellen
Bei einer
Präsentation von grafisch dargestellten Umfrageergebnissen ist es wichtig, den Zuhörern die Diagramme anschaulich darzustellen. Deshalb lohnt es sich, die Ergebnisse ansprechend aufzubereiten und mit dem Laptop, Netbook oder einem
Ultrabook zu visualisieren. So kann jeder die erarbeiteten Balken sehen und eigene Schlüsse aus der Grafik ziehen. Vor der Präsentation müssen wir unsere Grafik allerdings erst einmal erstellen. Im Folgenden führen wir das anhand der Ergebnisse der
Beispiel-Umfrage durch und werten diese aus.
Da die
Umfrageergebnisse grafisch dargestellt werden sollen, benötigen wir zunächst eine Grafik. Ich möchte im Endeffekt ein Balkendiagramm haben, das ungefähr so aussehen soll:
| Katze |
 |
40 % |
| Hund |
 |
30 % |
| Nagetier |
 |
20 % |
| Sonstiges |
 |
10 % |
Dabei reicht für die Balken eine 1 x 1 Pixel große, einfarbige Grafik aus - wir vergrößern sie danach einfach passend (bei einfarbigen Grafiken ist das problemlos möglich, wenn man einen Verlauf möchte, sollte man die Grundgrafik etwas größer machen).
Jetzt können wir uns daran machen, die Daten aus der Datenbank abzufragen:
<?php
$abfrage = mysql_query("SELECT count FROM haustierwunsch WHERE id = '1'");
$ergebnis = mysql_fetch_object($abfrage);
$katzenwunsch = $ergebnis->count;
?>Wir fragen dabei jedes Tier einzeln ab und übertragen den Wert aus der Spalte count - also die Häufigkeit des Wunsches nach einem bestimmten Tier - gleich in eine Variable. Das machen wir jetzt nach dem gleichen Schema mit allen drei Möglichkeiten und speichern diese in die Variablen $hundewunsch, $nagerwunsch und $sonstigerwunsch.
Eine schönere Variante ist, das ganze über variable Variablen zu lösen - allerdings ist dieser Weg für Anfänger auch schwerer verständlich, weswegen ich das jetzt nicht erkläre. Also bitte keine Angst bekommen. Auch wenn zu diesen gesamten Vorgängen der Datenbankprogrammierung und -abfrage natürlich spezielle Studiengänge angeboten werden (und bei einer professionellen Herangehensweise durchaus sinnvoll sind), so brauchst du für meinen hier dargestellten Weg keinen Studienabschluss. Auch nicht, wenn´s jetzt mit Prozenten und Berechnungen weiter geht. Denn:
Jetzt benötigen wir nur ein wenig Mathematik, da wir die einzelnen Zahlen in Prozentsätze umrechnen müssen. Dafür addieren wir zunächst alle Ergebniszahlen und berechnen danach die einzelnen Prozentwert:
<?php
$gesamt = $katzenwunsch + $hundewunsch + $nagerwunsch + $sonstigerwunsch;
$katzenprozent = $katzenwunsch * 100 / $gesamt;
$hundeprozent = $hundewunsch * 100 / $gesamt;
$nagerprozent = $nagerwunsch * 100 / $gesamt;
$sonstprozent = $sonstigerwunsch * 100 / $gesamt;
?>
Mit Hilfe der Prozentsätze wird jetzt die Breite des Balken, also der Grafik bestimmt. Wollen wir z. B., dass der Balken maximal 300 Pixel breit sein darf, wenn ein Wert 100 % hat, so ist jeder Prozentpunkt 3 Pixel breit (maximale Breite / 100). Dieses Wissen können wir dann verwenden, um zu berechnen, wie breit z. B. 20 % wären (Breite eines Prozents * Prozent).
<?php
$katzenbalken = $katzenprozent * 3;
$hundebalken = $hundeprozent * 3;
$nagerbalken = $nagerprozent * 3;
$sonstbalken = $sonstprozent * 3;
?>
Und jetzt müssen wir diese ganzen Berechnungen nur noch anzeigen lassen, z. B. in einer Tabelle:
<table>
<tr>
<td>Katzen</td>
<td><img src="balken.gif" width="<?php echo $katzenbalken; ?>" height="10" alt="<?php echo $katzenprozent; ?> %" /></td>
<td><?php echo $katzenprozent; ?> %</td>
</tr>
<tr>
<td>Hunde</td>
<td><img src="balken.gif" width="<?php echo $hundebalken; ?>" height="10" alt="<?php echo $hundeprozent; ?> %" /></td>
<td><?php echo $hundeprozent; ?> %</td>
</tr>
<tr>
<td>Nager</td>
<td><img src="balken.gif" width="<?php echo $nagerbalken; ?>" height="10" alt="<?php echo $nagerprozent; ?> %" /></td>
<td><?php echo $nagerprozent; ?> %</td>
</tr>
<tr>
<td>Sonstiges</td>
<td><img src="balken.gif" width="<?php echo $sonstbalken; ?>" height="10" alt="<?php echo $sonstprozent; ?> %" /></td>
<td><?php echo $sonstprozent; ?> %</td>
</tr>
</table>Für diese Auswertung eines Umfrageergebnisses gibt es natürlich noch viele andere Varianten und Einsatzmöglichkeiten (z. B. auch bei einer
Marktanalyse), viel Vergnügen also beim Herumprobieren und Austesten. Und vielleicht findet ja der eine oder andere derart Gefallen, an unserer Kombination aus Mathematik, php und mySQL, so dass er am Ende doch noch seinen Bachelor an der Fernhochschule machen will. Wenn wir mit unseren Beispielen und Übungen dazu beigetragen haben, dass sich die im Vergleich mit anderen europäischen Staaten
schlechte Akademikerquote in Deutschland verbessert, umso besser.