Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 1.2 1.3 1.4 Das Kursbeispiel: eine kleine Personalverwaltung Was brauchen wir? Ziele Kurs AEMS1, HS 2009 Ziel 1. Morgen: Einführung in MySQL Die Daten der Excel-Tabelle in die Datenbank importieren 1.5 Das EXCEL-Adressblatt 1.6 Als csv-Textdatei speichern 1.7 MySQL-Datenbanken verwalten mit phpMyAdmin 1.8 Excel-Tabellen und Datenbank-Tabellen 1.9 Die Tabelle personnel mit phpMyAdmin erstellen 1.10 Dateneingabe und Datenimport mit mit phpMyAdmin Die Datenbanksprache SQL 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 Die Datenbanksprache SQL Insert: Daten einfügen Select: Daten abfragen Where: Abfragen mit Bedingungen Gross und Kleinschreibung bei MySQL-SQL Order by: Abfrageergebnisse sortieren Update: Daten verändern Delete: Daten löschen 2. Einführung in die Skriptsprache PHP 2.1 2.2 2.3 2.4 2.5 Ziel 2. Morgen: Einführung in PHP Statische Webseiten Beispiel: Dynamische Webseite mit PHP Ablauf: Aufruf einer dynamischer Webseite mit PHP Einführung in PHP 3. Datenbankanbindung mit PHP und MySQL 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Ziel 3. Morgen: Datenbankanbindung mit PHP und MySQL Datenbankverbindung- und Abfrage aus einem PHP-Skript PHP-MySQL-Funktionen zur Datenbankverbindung und -Abfrage Die PHP-MySQL-Funktionen im PHP-Skript mysql_connect: die Verbindung zur Datenbank mysql_select_db: Die Datenbank auswählen mysql_query: Die SQL-Query durchführen lassen mysql_fetch_array: Die Datensätze des Suchergebnisses abholen 4. Das Kursbeispiel: Personaldaten anzeigen, eingeben, ändern, löschen und suchen 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Ziel 4. Morgen: Die Webanwendung (das Kursbeispiel) programmieren viewdb1.php: die Personal-Daten in personnel anschauen UniAccess-Authentifizierung und -Autorisierung input.php: Personal-Daten in personnel eingeben viewdb2.php: viewdb1.php mit link zu delete.php delete.php: Personal-Daten in personnel löschen edit.php: Personal-Daten in personnel ändern viewdb3.php: viewdb2.php mit Link zu edit.php search.php: Personal-Daten in personnel suchen Einführung in MySQL und PHP 4.1 Ziel 4. Morgen: Die Webanwendung (das Kursbeispiel) programmieren Sie wissen, wie eine einfache Webanwendung aufgebaut ist. Sie können einfache Anwendungen ähnlicher Art programmieren. [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.1 Einführung in MySQL und PHP 4.2 viewdb1.php: die Personal-Daten in personnel anschauen Resultat viewdb1.php Code viewdb1.php Falsch: echo "<td>$myrow["lastname"]</td>\n"; Falsch: echo "<td>$myrow['lastname']</td>\n"; Korrekt: echo "<td>".$myrow["lastname"]."</td>\n"; Korrekt: echo "<td>",$myrow["lastname"],"</td>\n"; [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.2 Einführung in MySQL und PHP 4.3 UniAccess-Authentifizierung und -Autorisierung Erstellen eines Verzeichnisses ssl-dir mit Datei .htaccess darin: AuthType? Basic # Anschrift Login-Fensters AuthName? "UniAccess?-Login" # ldap-Authentifizierung Uni Zuerich AuthBasicProvider? ldap # Einschränkung der Berechtignten # (Autorisierung) <Limit GET POST> require user s15732 require user m148481 </Limit> [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.3 Einführung in MySQL und PHP 4.4 input.php: Personal-Daten in personnel eingeben Resultat Ausgangsprogramm input1.php Code Ausgangsprogramm input1.php $sql = "insert into personnel (firstname, lastname, nick, email, salary) values ('$firstname','$lastname','$nick', '$email','$salary')"; mysql_query($sql) || die ("Problem mit $sql: ".mysql_error()); Resultat verändertes Programm input.php Code verändertes Programm input.php [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 06.11.2009 4.4 Einführung in MySQL und PHP 4.5 viewdb2.php: viewdb1.php mit link zu delete.php Der Link zu delete.php: <a href="delete.php?id=553"> delete </a> (Wie das php-Programm delete.php aussieht, wird auf der nächsten Folie gezeigt.) Resultat viewdb2.php Code viewdb2.php [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 06.11.2009 4.5 Einführung in MySQL und PHP 4.6 delete.php: Personal-Daten in personnel löschen <?php include("conf/config.php"); $id = $_GET[id]; $dbh = mysql_connect($dbserver, $benutzer mysql_select_db($datenbank,$dbh); $query="delete from personnel where id=$i mysql_query($query,$dbh); echo "Information deleted"; ?> [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.6 Einführung in MySQL und PHP 4.7 edit.php: Personal-Daten in personnel ändern Wir kopiern den Code von input.php in eine neue Datei edit.php und machen folgende Änderungen: Das Feld id in das Formular einfügen: Id: <input name="id" value="<?php echo $ insert-Statement durch update-Statement ersetzen update personnel set firstname ='$firstname', lastname ='$lastname', nick ='$nick', email ='$email', salary ='$salary' where id=$id; Oben Variable $id einführen: $id = $_GET['id']; Resultat edit.php Code edit.php [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 06.11.2009 4.7 Einführung in MySQL und PHP 4.8 viewdb3.php: viewdb2.php mit Link zu edit.php Der Link der zusätzlich in der Spalte Options eingefügt werden soll: echo '<a href="edit.php?id=' .$myrow["id"] '&firstname='.$myrow["firs '&lastname=' .$myrow["last '&nick=' .$myrow["nick '&email=' .$myrow["emai '&salary=' .$myrow["sala edit </a>'; Resultat viewdb3.php Code viewdb3.php [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 06.11.2009 4.8 Einführung in MySQL und PHP 4.9 search.php: Personal-Daten in personnel suchen Suche mit Like und Wildcard %: where $searchtype like '%$searchstring%' Auswahlliste: <select name="searchtype"> <option selected value="firstname">First Name</option> <option value="lastname">Last Name</option> <option value="nick">Nick Name</option> <option value="email">Email</option> </select> Resultat search.php Code search.php [email protected] http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.9