Zentral Informatik, IT Fort und Weiterbildungen Einführung in PHP und MySQL Handouts zu den Folien Autoren: Diverse Mitarbeiter der Zentralen Informatik Letzte Überarbeitung: Daniel Förderer Version 2015,2 [email protected] 044 635 67 80 Inhalt 1. MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS Datenimport von Excel 1.4 Ziel: Einführung in MySQL 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 phpMyAdmin 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. PHP 2.1 Ziel: Einführung in PHP 2.2 Statische Webseiten 2.3 Beispiel: Dynamische Webseite mit PHP 2.4 Ablauf: Aufruf einer dynamischen Webseite mit PHP 2.5 Einführung in PHP Version 2015,1 3. PHP und MySQL 3.1 Ziel: 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 Den Inhalt der Tabelle personnel im Browser anzeigen 3.6 mysql_connect: Troubleshooting 3.7 mysql_query: Troubleshooting 4. Das Kursbeispiel 4.1 Ziel: Das Kursbeispiel programmieren 4.2 Die Übersichtsseite: alle Personen anzeigen (view1.php) 4.3 Die Eingabeseite: eine neue Person aufnehmen (input.php) 4.4 Die Löschseite: eine Person löschen 4.5 Eine Person mit Klick auf der Übersichtsseite löschen (view2.php) 4.6 Die Änderungsseite: eine Person ändern (edit1.php) 4.7 Von der Übersichtsseite auf die Änderungsseite springen (view.php) 4.8 Die Änderungsseite fertigstellen (edit.php) 4.9 Die Suchseite: Personen suchen (search.php) 4.10 Webpass-Authentifizierung und –Autorisierung 1. Einführung in das MySQL Datenbanksystem Kursbeispiel und Kursziele 1.1 1.2 1. MySQL 1.3 Datenimport von Excel 1.4 1. MySQL 1.5 1.6 1. MySQL 1.7 1.8 1. MySQL 1.9 1.10 SQL 1. MySQL 1.11 1.12 1. MySQL 1.13 1.14 1. MySQL 1.15 1.16 1. MySQL 1.17 1.18 2. PHP 2.1 2.2 2. PHP 2.3 2.4 2. PHP 2.5 3. PHP und MySQL 3.1 3.2 3. PHP und MySQL 3.3 3.4 3. PHP und MySQL 3.5 3.5 connect1.php <html> <?php include("ssl-dir/conf/config.php"); $conn = mysqli_connect($dbserver, $benutzerwww, $passwortwww, $datenbank); $query="select * from personnel"; $result=mysqli_query($conn,$query); while ($row = mysqli_fetch_array($result)) { echo "$row[firstname]<br> $row[lastname]<br> $row[nick]<br> $row[salary]<br><br>"; } ?> </html> 3.5 Code 3. PHP und MySQL 3.6 3.7 3. PHP und MySQL 4. Das Kursbeispiel 4.1 4.2 4.2 view1.php <html> <?php include('ssl-dir/conf/config.php'); $conn = mysqli_connect($dbserver, $benutzerwww, $passwortwww, $datenbank); $query='select * from personnel'; $result = mysqli_query($conn,$query); ?> <h1>Alle Personen anzeigen</h1> <table border=1> <tr> <th>Lastname</th> <th>Firstname</th> <th>Nickname</th> <th>E-Mail</th> <th>Salary</th> <th>Options</th> </tr> <?php while ($row = mysqli_fetch_array($result)){ echo "<tr> <td>$row[lastname]</td> <td>$row[firstname]</td> <td>$row[nick]</td> <td>$row[email]</td> <td>$row[salary]</td> </tr>"; } ?> </table> </html> 4. Das Kursbeispiel 4.2 Code 4.3 4. Das Kursbeispiel 4.3 input.php <html> <h1>Eine neue Person aufnehmen</h1> <?php include('ssl-dir/conf/config.php'); $conn = mysqli_connect($dbserver, $benutzerwww, $passwortwww, $datenbank); if($_GET[firstname] and $_GET[lastname] and $_GET[nick] and $_GET[email]){ $query = "insert into personnel (firstname, lastname, nick, email, salary) values ('$_GET[firstname]','$_GET[lastname]', '$_GET[nick]','$_GET[email]', '$_GET[salary]')"; mysqli_query($conn,$query); echo "Thank you! Firstname: Lastname: Nickname: E-Mail: Salary: This Information was entered:<br> $_GET[firstname]<br> $_GET[lastname]<br> $_GET[nick]<br> $_GET[email]<br> $_GET[salary]<br>"; } else{ echo "<form action='$_SERVER[PHP_SELF]' method='get'> Firstname: <input name='firstname' value='$_GET[firstname]'><br> Lastname: <input name='lastname' value='$_GET[lastname]'><br> Nickname: <input name='nick' value='$_GET[nick]'><br> E-Mail: <input name='email' value='$_GET[email]'><br> Salary: <input name='salary' value='$_GET[salary]'><br> <input type='submit' value='Person aufnehmen'> </form>"; } ?> </html> 4. Das Kursbeispiel 4.3 Code 4.4 4.4 delete.php <html> <h1>Eine Person l&ouml;schen</h1> <?php include('ssl-dir/conf/config.php'); $connection = mysqli_connect($dbserver, $benutzerwww, $passwortwww, $datenbank); $query="delete from personnel where id=$_GET[id]"; mysqli_query($connection,$query); echo 'Die Person wurde gel&ouml;scht!'; ?> </html> 4.4 Code 4.5 4. Das Kursbeispiel 4.5 view2.php <html> <h1>Alle Personen anzeigen</h1> <?php include('ssl-dir/conf/config.php'); $conn = mysqli_connect($dbserver, $benutzerwww, $passwortwww, $datenbank); $query='select * from personnel'; $result = mysqli_query($conn,$query); ?> <table border=1> <tr> <th>Lastname</th> <th>Firstname</th> <th>Nickname</th> <th>E-Mail</th> <th>Salary</th> <th>Options</th> </tr> <?php while ($row = mysqli_fetch_array($result)){ echo "<tr> <td>$row[lastname]</td> <td>$row[firstname] <td>$row[nick] <td>$row[email]</td> <td>$row[salary]</td> <td> <a href='delete.php?id=$row[id]'>delete</a> </td> </tr>"; } ?> </table> </html> 4. Das Kursbeispiel 4.5 Code 4.6 4.6 edit1.php <html> <h1>Eine Person &auml;ndern</h1> <?php include('ssl-dir/conf/config.php'); if($_GET[firstname] and $_GET[lastname] and $_GET[nick] and $_GET[email]){ $conn = mysqli_connect($dbserver, $benutzerwww, $passwortwww, $datenbank); $query = "update personnel set firstname ='$_GET[firstname]', lastname ='$_GET[lastname]', nick ='$_GET[nick]', email ='$_GET[email]', salary ='$_GET[salary]' where id=$_GET[id]"; mysqli_query($conn,$query); echo "Thank you! Lastname: Firstname: Nickname: E-Mail: Salary: This Information was entered:<br> $_GET[lastname]<br> $_GET[firstname]<br> $_GET[nick]<br> $_GET[email]<br> $_GET[salary]<br>"; } else{ echo "<form action='$_SERVER[PHP_SELF]' method='get'> Id: <input name='id' value='$_GET[id]'><br> Firstname: <input name='firstname' value='$_GET[firstname]'><br> Lastname: <input name='lastname' value='$_GET[lastname]'><br> Nickname: <input name='nick' value='$_GET[nick]'><br> E-Mail: <input name='email' value='$_GET[email]'><br> Salary: <input name='salary' value='$_GET[salary]'><br> <input type='submit' value='Person &auml;ndern'> </form>"; } ?> <html> 4.6 Code 4.7 4. Das Kursbeispiel 4.7 view.php <html> <h1>Alle Personen anzeigen</h1> <?php include('ssl-dir/conf/config.php'); $conn=mysqli_connect($dbserver, $benutzerwww, $passwortwww, $datenbank); $query = 'select * from personnel'; $result = mysqli_query($conn,$query); ?> <table border=1> <tr> <th>Lastname</th> <th>Firstname</th> <th>Nickname</th> <th>E-Mail</th> <th>Salary</th> <th>Options</th> </tr> <?php while ($row = mysqli_fetch_array($result)){ echo "<tr> <td>$row[lastname]</td> <td>$row[firstname]</td> <td>$row[nick]</td> <td>$row[email]</td> <td>$row[salary]</td> <td> <a href='delete.php?id=$row[id]'>delete</a> <a href='edit.php?" ."id=$row[id]&lastname=$row[lastname]" ."&firstname=$row[firstname]&nick=$row[nick]" ."&email=$row[email]&salary=$row[salary]'>" ."edit</a> </td> </tr>"; } ?> </table> </html> 4. Das Kursbeispiel 4.7 Code 4.8 4. Das Kursbeispiel 4.9 4.10