Jetzt neu: Handgebundene Tagebücher und Notizhefte by Unkelbach Art Handgebundene Notizhefte

Gesundheitliche Gründe zwingen - und bringen(!) - mich zu Veränderungen, die so nie geplant waren: Statt mit Variablen, Schleifen und Abfragen, arbeite ich jetzt mit wundervollem Papier: hauchdünnes Transparentpapier, mattweißes Schreibpapier, rustikales Kraftpapier, flexibler, schwarzer Karton, feste Graupappe und viele mehr. Aus allen entstehen handgebundene Notizbücher, Tagebücher und Notizhefte, die schon beim Ansehen Freude machen - stellt euch mal vor, wie toll es ist, auch noch darin zu schreiben!

PHP für dich bleibt euch natürlich in seiner aktuellen Form erhalten und vielleicht sehen wir uns ja mal bei Unkelbach Art, auf Facebook oder Instagram oder ihr holt euch eines meiner Produkte. Es wäre mir eine große Freude!
Mehr dazu...

Schnipsel

PHP und mySQL - Umfrageergebnis grafisch darstellen

Bei einer Präsentation von Umfrageergebnissen ist es wichtig, den Zuhörern die Diagramme anschaulich darzustellen. Vor der Präsentation müssen wir unsere Grafik allerdings erst einmal erstellen. Obwohl HTML 5 dafür eine schöne Option liefert, kann auch diese Methode eingesetzt werden. 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 % 40 %
Hund 30 % 30 %
Nagetier 20 % 20 %
Sonstiges 10 % 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 mySQL-Datenbank abzufragen:
<?php
$abfrage = mysqli_query($db, "SELECT count FROM haustierwunsch WHERE id = '1'");
$ergebnis = mysqli_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.

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>


Autor: Claudia Unkelbach


Spenden via PayPal
© 2001 - 2020 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen