In dieser Unterrichtsstunde wurde die Programmiersprache PHP und der Umgang damit weiter vertieft. Dabei wurde zuerst bereits Bekanntes wiederholt und im Anschluss einfache PHP-Strukturen in Erinnerung gerufen, um wieder allmählich in die Syntaxschreibweise dieser Sprache hineinzukommen. Durch den zuvor erlernten Umgang mit Datenbanken und SQL-Abfragen sowie virtuellen Webserverapplikationen, konnte in dieser Stunde die Verbindung zwischen diesen beiden Webentwicklungsbereichen (PHP und SQL) geschaffen werden. Dazu wurde ein einfaches PHP-Skript innerhalb einer Projektseite erstellt, welches aus der bereits bekannten TERRA-Datenbank gewisse Datensätze auf der Webseite abbildete. In diesem Sinne wurde zuerst ein kurzes Verbindungsskript programmiert, welches mittels richtiger Zeichenkodierung und Error-Exception eine Datenbankverbindung aufbaut und anschließend diverse SQL-Queries dazugeschrieben, um die Übergabe von Abfragewerten in Variablen zu üben und die Ausgabe von Ergebnissen zu kontrollieren. Abschließend wurde noch der Unterschied zwischen einer iterativen Ausgabe (z.B. while-Schleife) sowie einer fetched-Variable (fetched Werte einzelner Tabellenspalten) erklärt und nachträglich innerhalb der PHP-Skripte getestet.
<?php $db_host = 'localhost'; $db_username = 'root'; $db_password = 'root'; $db_name = 'testdb'; $dbconnect = new mysqli($db_host, $db_username, $db_password, $db_name); mysqli_set_charset($dbconnect, 'utf8'); if (mysqli_connect_errno()) { echo 'Verbindungsfehler zur MySQL Datenbank - Fehlercode: ' . mysqli_connect_error(); } ?>
<?php $citycheck = "SELECT Name FROM ort WHERE Einwohner >= 100000 LIMIT 10"; $dbconnect->real_escape_string($citycheck); $query = mysqli_query($dbconnect, $citycheck); $numrows = mysqli_num_rows($query); $cities = ''; if ($numrows == 0) { $cities.= '<p>Keine Orte gefunden!</p>'; } else { while($row = mysqli_fetch_assoc($query)) { $cities.= '<p>'.$row['Name'].'</p>'; } } echo $cities; ?>