====== Webapplikationen I (PHP Advanced) ======
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.
\\
=== Kompetenzen ===
- Ich kenne den Unterschied zwischen HTML und PHP und weiß wie PHP in Webseiten eingreifen kann.
- Ich verstehe wie Webserver und Datenbankserver im Hintergrund einer Webseite arbeiten und kenne virtuelle Applikationen.
- Ich verstehe wie man PHP-Funktionen aufrufen kann und kann mir über Manual-Pages der PHP-Dokumentation weiterhelfen.
- Ich kann kleinere PHP-Skripts erstellen und die Ergebnisse dieser mit Hilfe des echo Befehls ausgeben lassen.
- Ich kann Kontrollstrukturen wie Verzweigungen oder Schleifen in PHP programmieren und verstehe das Prinzip hinter ihnen.
- Ich verstehe wie man ein Verbindungsskript in PHP schreibt und welche Elemente dafür benötigt werden.
\\
=== Vertiefung ===
= 100000 LIMIT 10";
$dbconnect->real_escape_string($citycheck);
$query = mysqli_query($dbconnect, $citycheck);
$numrows = mysqli_num_rows($query);
$cities = '';
if ($numrows == 0) {
$cities.= 'Keine Orte gefunden!
';
}
else {
while($row = mysqli_fetch_assoc($query)) {
$cities.= ''.$row['Name'].'
';
}
}
echo $cities;
?>
\\
=== Weiterführende Links ===
* [[https://code.visualstudio.com/|Visual Studio Code - IDE/Code-Editor (offizielle Downloadseite)]]
* [[https://www.apachefriends.org/de/index.html|XAMPP - Virtueller Web- und Datenbankserver (Cross-Platform)]]
* [[https://www.mamp.info/de/|MAMP - Virtueller Web- und Datenbankserver (Windows und Mac)]]
* [[https://www.w3schools.com/php/php_mysql_connect.asp|W3schools - PHP Connect to MySQL]]
* [[https://www.w3schools.com/php/php_mysql_select.asp|W3schools - PHP MySQL Select Data]]
\\
==== Unterrichtsmaterialien ====
* {{ :informatik:6klasse:webapplikationen1:webapplikationen_i_beispieldateien.zip |Webapplikationen I Beispieldateien (PHP, SQL, CSS und Bilddateien)}}
* {{ :informatik:6klasse:webapplikationen1:terra_complete.sql |Komplette TERRA-Datenbank SQL-Datei}}
\\
{{tag>Webapplikationen virtuelle_Server Webserver PHP XAMPP MAMP Datenbankverbindung SQL Abfragen Kontrollstrukturen 6._Klasse IKT}}
~~NOTOC~~