====== 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~~