prev up next

PHP

Eine Alternative zur ColdFusion-Technik stellt PHP dar, eine Server-basierte Skriptsprache, die in HTML-Seiten eingebettet werden kann. Der Name entstand ursprünglich aus der Abkürzung Personal Home Page. Eine HTML-Seite mit PHP-Aufrufen hat typischerweise die Endung php. Neben der Auswertung der HTML-Tags übernimmt ein entsprechend aufgerüsteter Web-Server die Interpretation der PHP-Scripte, welche für die Generierung dynamischer, nicht notwendigerweise datenbankgetriebener Inhalte sorgen.

Auf der Web-Seite http://www.php.net sind ausführliche Hinweise zu finden. Eine nützliche Seite ist http://www.selfphp.info , dort finden sich auch zahlreiche Funktionen der GD-Library, mit der dynamische Grafiken erzeugt werden können:
http://www.selfphp.info/funktionsreferenz/image_funktionen .

Unter Verwendung der GD-Library erzeugen die Routinen der JpGraph-Library komplexere Bilder, wie z.B. Tortengrafiken ( http://www.aditus.nu/jpgraph/index.php ).

Wir beschränken uns hier auf die Angabe von einigen wenigen Beispielen, in denen gegen den Microsoft SQL Server eine SQL-Query abgesetzt und das Ergebnis tabellarisch bzw. graphisch angezeigt wird.

Eine Möglichkeit zur Übergabe der Query an die PHP-Seite besteht darin, die Query bei Aufruf der PHP-Seite an die URL der PHP-Seite zu hängen:

antwort.php?frage=select+*+from+professoren

Eine andere Möglichkeit besteht darin, die Query durch ein Formular in einer HTML-Seite zu ermitteln und von dort aus die PHP-Seite aufzurufen. PHP legt dann automatisch eine Variable mit den Namen der in dem Formular verwendeten Feldern an.

Listing 9.23 zeigt eine HTML-Seite mit einem Formular zur Erfassung einer SQL-Query. Die vom Benutzer eingegebene Frage wird übergeben an ein PHP-Script, welches im Listing 9.24 gezeigt wird. Das Ergebnis ist in Abbildung 9.17 zu sehen.

Listing 9.25 zeigt die Template-Datei assistenten.ihtml, welche das Formatierungsgerüst enthält für das PHP-Script assistenten.php, gezeigt in Listing 9.26. Das Ergebnis ist in Abbildung 9.18 zu sehen. Vorteil dieser Zweiteilung von Form und Funktionalität ist die Tatsache, dass die Template-Datei in einem beliebigen HTML-Editor gestaltet werden kann.

Listing 9.27 zeigt eine HTML-Seite, welche per PHP die Namen und Semesterzahlen der Studenten ermittelt und die Dauer ihres Studiums grafisch durch einen Balken visualisiert. Hierzu wird in dem PHP-Script balken.php (Listing 9.28) mithilfe der GD-Library ein blaues Rechteck gezeichnet mit einer Breite gemäß dem übergebenen Parameter $zahl. Das Ergebnis ist in Abbildung 9.19 zu sehen.

Listing 9.29 zeigt ein PHP-Script, welches die Lehrbelastung der Professoren ermittelt und die relativen Anteile durch eine Tortengraphik visualisiert. Hierzu werden die ermittelten Namen und Zahlenwerte an das PHP-Script torte.php (Listing 9.30) übergeben und dort mithilfe der jpgraph-Library visualisiert. Das Ergebnis ist in Abbildung 9.20 zu sehen.

Listing 9.23: Quelltext der HTML-Seite frage.html mit Formular zur Ermittlung einer Query

Aufruf der HTML-Seite frage.html mit Formular zur Ermittlung einer Query

Listing 9.24: Quelltext des PHP-Scripts antwort.php mit Berechnung der Antwort

Aufruf des PHP-Scripts antwort.php zur Berechnung der Antwort


Abbildung 9.17: Ergebnis einer SQL-Query, ermittelt durch antwort.php


Abbildung 9.18: Ergebnis einer SQL-Query, ermittelt durch assistenten.php

Listing 9.25: Quelltext der Template-Datei assistenten.ihtml mit Formatanweisungen, genutzt vom PHP-Script assistenten.php

Listing 9.26: Quelltext des PHP-Scripts assistenten.php zur formatierten Ausgabe der Assistenten und ihrer Betreuer, unter Verwendung der Templatedatei assistenten.ihtml

Aufruf des PHP-Scripts assistenten.php

Listing 9.27:Quelltext des PHP-Scripts semester.php zur Berechnung von dynamischen Grafiken

Listing 9.28: Quelltext des PHP-Script balken.php zur Berechnung eines dynamischen Balkens

Aufruf des PHP-Scripts semester.php zur Berechnung von dynamischen Grafiken


Abbildung 9.19: Dynamische Grafiken erzeugt von balken.php, aufgerufen von semester.php


Abbildung 9.20: Dynamische Grafiken, erzeugt von torte.php, aufgerufen von lehre.php

Listing 9.29: Quelltext des PHP-Scripts lehre.php zur Ermittlung der Lehrbelastung

Listing 9.30: Quelltext des PHP-Script torte.php zur Berechnung einer dynamischen Tortengrafik

Aufruf des PHP-Scripts lehre.php


prev up next