Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1, HS 2009 1.4 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 Die Datenbanksprache SQL 1.12 Insert: Daten einfügen 1.13 Select: Daten abfragen 1.14 Where: Abfragen mit Bedingungen 1.15 Gross und Kleinschreibung bei MySQL-SQL 1.16 Order by: Abfrageergebnisse sortieren 1.17 Update: Daten verändern 1.18 Delete: Daten löschen 2. Einführung in die Skriptsprache PHP 2.1 Ziel 2. Morgen: Einführung in PHP 2.2 Statische Webseiten 2.3 Beispiel: Dynamische Webseite mit PHP 2.4 Ablauf: Aufruf einer dynamischer Webseite mit PHP 2.5 Einführung in PHP 3. Datenbankanbindung mit PHP und MySQL 3.1 Ziel 3. Morgen: Datenbankanbindung mit PHP und MySQL 3.2 Datenbankverbindung- und Abfrage aus einem PHP-Skript 3.3 PHP-MySQL-Funktionen zur Datenbankverbindung und -Abfrage 3.4 Die PHP-MySQL-Funktionen im PHP-Skript 3.5 mysql_connect: die Verbindung zur Datenbank 3.6 mysql_select_db: Die Datenbank auswählen 3.7 mysql_query: Die SQL-Query durchführen lassen 3.8 mysql_fetch_array: Die Datensätze des Suchergebnisses abholen 4. Das Kursbeispiel: Personaldaten anzeigen, eingeben, ändern, löschen und suchen 4.1 Ziel 4. Morgen: Die Webanwendung (das Kursbeispiel) programmieren 4.2 viewdb1.php: die Personal-Daten in personnel anschauen 4.3 UniAccess-Authentifizierung und -Autorisierung 4.4 input.php: Personal-Daten in personnel eingeben 4.5 viewdb2.php: viewdb1.php mit link zu delete.php 4.6 delete.php: Personal-Daten in personnel löschen 4.7 edit.php: Personal-Daten in personnel ändern 4.8 viewdb3.php: viewdb2.php mit Link zu edit.php 4.9 search.php: Personal-Daten in personnel suchen
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. id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.1
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"; id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.2
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> id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.3
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 id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 06.11.2009 4.4
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 id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 06.11.2009 4.5
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";?> id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.6
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 id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 06.11.2009 4.7
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 id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 06.11.2009 4.8
Suche mit Like und Wildcard %: 4.9 search.php: Personal-Daten in personnel suchen 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 id_bd@id.uzh.ch http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html Letzte Änderung: 05.11.2009 4.9