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

Post on 06-Apr-2016

216 views 2 download

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

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

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

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?

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 5

Dynamische Webseiten Unterscheidung:

Dynamisch <> Interaktiv

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 6

Beispiele • Telefonbuch • Aktienkurse• Youtube

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

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 8

Schema

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 9

Ablauf

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

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 11

PHP • Schema• Beispiele

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

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 13

Einführung PHP Beipiel einer Passwortabfrage

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“

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...

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) !

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

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 18

Beispiel: Kontakte

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

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

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 21

Hilfsmittel: OpenOffice

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 22

Darstellung der Relationen

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 23

Query erstellen:

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 24

Resultat:

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 25

Query Designe, Angabe als SQL

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' ) )

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

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

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 29

Die Verbindung von PHP und MySQL

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

Universität Zürich

Informatikdienste

25.10.07 dm IntroBrushUp: Dynamische Webseiten mit MySql und PHP 31

Fragen?