Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und...

31
Universität Zürich Informatikdien ste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP

Transcript of Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und...

Page 1: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1

Willkommen

Dynamische Webseiten mit MySql und PHP

Page 2: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 2

Skript und Folien zum Kurs Skript

Martin Pollakowski: Grundkurs MySQL und PHP. (Vieweg Verlag)

Folienhttp://www.fh-gelsenkirchen.de/fb01/homepages/pollakowski/db/index.html

Page 3: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 3

Inhalt • Übersicht• PHP• MySQL• Verbindung PHP und MySQL

Page 4: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 4

Übersicht • Was sind „dynamische“ Webseiten?• Beispiele• Schema• Ablauf• Was benötige ich?

Page 5: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 5

Dynamische Webseiten Unterscheidung:

Dynamisch <> Interaktiv

Page 6: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 6

Beispiele • Telefonbuch • Aktienkurse• Youtube

Page 7: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 7

Schema Prinzipieller Ablauf:

1. Nutzer ruft mit Browser eine Web-Seite auf dem Apache-Server auf

2. Apache-Server übergibt Web-Seite an PHP-Server3. PHP-Server liest Daten aus MySQL-Datenbank4. PHP-Server verpackt die Daten im HTML-Format (für den

Browser)5. Apache Server übergibt die Web-Seite an den Browser6. Web-Server

Page 8: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 8

Schema

Page 9: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 9

Ablauf

Page 10: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 10

Was benötige ich? • LAMP oder WAMP (Linux/Windows, Apache, MySQL, PHP)

• Tools– Admin Tool für MySQL z.B. OpenOffice via ODBC, PHPMyAdmin oder MySQL-eigene Werkzeuge– HTML-Editor z.B. GoLive, Dreamweaver, HTML-Kit– PHP-Programmierumgebung z.B. Eclipse, HTML-Kit, ZEND-Studio

Page 11: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 11

PHP • Schema• Beispiele

Page 12: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 12

PHP Einführung in PHP

•http://www.id.uzh.ch/cl/dl/schulung/kurse/phpkurs/index.html

Page 13: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 13

Einführung PHP Beipiel einer Passwortabfrage

Page 14: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 14

MySQL-Geschichte 1979: Datenbank-Tool UNIREG der schwedischen Firma TcX

Programmierer: Michael Widenius1994: MySQL entsteht als SQL-basierter Server für Web-Anwendungen1996: MySQL als Binär-Distribution für Linux und Solaris frei verfügbar

inzwischen: Quell-Distribution verfügbar, Portierung auf Windows erfolgteaber: MySQL ist kein Open-Source-Produkt

Lizenzbedingungen:

- ältere MySQL-Versionen kostenlos verfügbar und frei nutzbar- aktueller MySQL-Server bei kommerziellem Einsatz lizenzpflichtig

Quelle: Dubois, „MySQL“

Page 15: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 15

Verbreitete relationale Datenbank-Management-

Systeme MySQL kostenlos für nichtkommerzielle

AnwendungenDB2 IBM DatenbanksystemOracle an weitesten verbreitet, derzeit MarktführerINGRES entstand aus University-INGRES an der

Berkley-UniversitydBASE Quasi-Standard im PC-Bereich*MS-Access Microsoft-Office-Produkt*

*nicht alle Merkmale eines DBMS vorhanden, z.B.: keine Mehrbenutzer-Systeme, keine Sichten...

Page 16: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 16

Bedienung des MySQL Clients Der Client (Monitor) meldet sich mit:

Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 65149 to server version: 5.0.18-Max

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

Danach können Kommandos eingegeben werden, z.B.:

mysql> status;

Kommando wird von mysql zu mysqld geschickt und dort bearbeitet.Ergebnis wird von mysqld zu mysql geschickt und dort angezeigt.Wichtig: Semikolon nicht vergessen (schließt das Kommando ab) !

Page 17: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 17

Daten speichern und auslesen Überblick über die Kommandoabfolge:

1) Eine Datenbank anlegen create database ...2) Die Datenbank auswählen use ...3) Eine Tabelle anlegen create table ...4) Datensätze einfügen insert ...5) Datensätze auslesen select ...6) Datensätze löschen delete ...Nützliche Kommandos zur Information: show ...

z.B.: show databases zeigt alle vorhandenen Datenbanken anshow tables zeigt alle Tabellen der aktuellen Datenbank andescribe tabellen_name zeigt die Attribute der Tabelle

Page 18: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 18

Beispiel: Kontakte

Page 19: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 19

Beispiel: Kontakte mit zwei Tabellen

Primärschlüssel

Primärschlüssel

Fremdschlüssel

Page 20: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 20

Fremdschlüssel definieren Mit SQL

ALTER TABLE Adressen add FOREIGN KEY (person_id) REFERENCES person( id ) ON DELETE CASCADE ;

PHP MyAdmin• Index erzeugen • Beziehung angeben• On delete -> cascade

Page 21: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 21

Hilfsmittel: OpenOffice

Page 22: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 22

Darstellung der Relationen

Page 23: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 23

Query erstellen:

Page 24: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 24

Resultat:

Page 25: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 25

Query Designe, Angabe als SQL

Page 26: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 26

Die SQL-Anweisung kann direkt in PHP übernommen werden SELECT `Adressen`.`Strasse`, `Adressen`.`Ort`, `person`.`Name` FROM `phpkurs`.`Adressen`, `phpkurs`.`person` WHERE ( `Adressen`.`person_id` = `person`.`id` ) AND ( ( `person`.`Name` = 'Meier' ) )

Page 27: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 27

Die Verbindung von PHP und MySQL http://www.id.unizh.ch/cl/dl/schulung/kurse/phpkurs/lunch/index.html

Page 28: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 28

Die Verbindung von PHP und MySQL

Verbindung zum DB-Server aufbauen

Datenbank auswählen

Anfrage: sql-query schicken

Resultat abholen

Page 29: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 29

Die Verbindung von PHP und MySQL

Page 30: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 30

Wichtige LinksBeispiele PHP-MySQL:http://www.id.unizh.ch/cl/dl/schulung/kurse/phpkurs/lunch/index.htmlBeispiele und Einführung PHP:http://www.id.unizh.ch/cl/dl/schulung/kurse/phpkurs/index.htmlEinführung und Dokus HTML:http://de.selfhtml.orgOffizielle PHP-Seite:http://www.php.net/Offizielle MySQL-Seitehttp://www.mysql.org/OpenOfficehttp://www.openoffice.org/Grundkurs (Skript) MySQL und PHPhttp://www.fh-gelsenkirchen.de/fb01/homepages/pollakowski/db/index.html

Page 31: Universität Zürich Informatikdienste 25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 1 Willkommen Dynamische Webseiten mit MySql und PHP.

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 31

Fragen?