Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu...

30
Allgemeine Technologien II Allgemeine Technologien II PHP und MySQL PHP und MySQL Allgemeine Technologien II Allgemeine Technologien II PHP und MySQL PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät Dozent: Patrick Sahle M.A. Referenten: Marcel Schotten, André Streicher

Transcript of Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu...

Page 1: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Universität zu Köln SS 2009

IT Zertifikat der Philosophischen FakultätDozent: Patrick Sahle M.A.

Referenten: Marcel Schotten, André Streicher

Page 2: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

– – Gliederung –Gliederung –

1. Theorie von PHP und MySQL

2.Praxis von PHP und MySQL am Kursprojekt

Page 3: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Theorie von PHP und MySQLTheorie von PHP und MySQL

Page 4: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLEinbindung MySQL im PHP-Skript

'Theorie'

Hierzu gibt es drei verschiedene Möglichkeiten die uns das Einbinden

von PHP in HTML vereinfachen:1.<?....?>

2.<?php...?>3.<script language=“php“>...</script>

Page 5: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLWas ist MySQL?

-MySQL ist ein Open-Source Datenbank System

-Die Datenbank ist aufgebaut in Tabellen in denen alle wichtigen

Daten drin stehen und die dann via Befehl aufgerufen werden können

Page 6: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLBsp. MySQL Tabelle

Page 7: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLVerbinden mit der Datenbank herstellen

Syntax:

„mysql_connect(servername,username,password);“

Servername: Optional. Angabe über den Server.

Username: Spezifiziert den Namen des Users.

Password: Ist das zum User zugehörige Passwort.

Page 8: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLVerbindung mit der Datenbank

abbrechen oder beenden

Die Verbindung mit der Datenbank, wird in der Regel mit der kompletten Ausführung des Skriptes, beendet.

Bei einem früheren Abbruch greift man auf diesen Befehl zurück:

„mysql_close()“

Page 9: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLDatenbank erstellen

-Datenbanken bestehen aus Tabellen von daher, wird zuerst eine Datenbank erstellt und anschliessend die Tabellen.

-Eine Datenbank erstellt man mit dem Befehl:

„CREATE DATABASE itPHPzer“

-Der Name dieser Datenbank würde dann itPHPzer lauten.

Page 10: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLTabellen erstellen

Syntax:

CREATE TABLE TabellenNamen

(

Spalten_Name1 Datentyp,

Spalten_Name2 Datentyp,

Spalten_Name3 Datentyp,

....

)

Bsp. Für die Erstellung befindet sich auf dem Handout.

Page 11: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLEinfügen von Inhalten in die Tabellen

Bei der Einfügung von Inhalten gibt es zwei Möglichkeiten.

1. Möglichkeit:

INSERT INTO tabellenamen

VALUES (wert1, wert2, wert3,...)

2.Möglichkeit:

INSERT INTO tabellennamen (spname1, spname2, spname3,...)

VALUES (wert1, wert2, wert3,...)

Der Unterschied hier liegt darin , das man in der ersten Möglichkeit einfach nur Werte eingibt, in der zweiten aber jeweils den Spalten Werte zuteilt.

Page 12: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLBsp. Zum Einfügen von Inhalt

Das Beispiel vom Handout bezogen auf das Projekt „Kölncampus“:

mysql_select_db("koelncampus");mysql_query("INSERT INTO sendungen (Titel, Schlagzeile, Datum)

VALUES ('Borderclash', 'Tolle Sendung', '2009-12-08 18:00:00')");

- zuerst wird die Datenbank ausgewählt

-dann erfolgt ein Query, welches den Befehl für die einbringung von Inhalt beheimatet

-der Befehl ist in unserem Fall die 2.Möglichkeit mit der Integrierung von Spaltennamen und die direkte Zuweisung von Werten

Page 13: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLAuswählen von Daten

Syntax:

SELECT SpaltenNamen

FROM Tabellennamen

Mit diesem Befehl können wir spezifizierte Werte aus der Datenbank holen, wir müssen lediglich den Spaltennamen

und den Tabellennamen nennen.

Bsp: ("SELECT * FROM sendungen

WHERE Titel='Borderclash'");

Mit diesem Befehl im Query würden wir die alle Daten ( * bedeutet alle Daten!) aus der Datenbank „sendungen“ anfodern die mit dem Titel Borderclash zu tun haben.

Page 14: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLLöschen von Inhalten

Wichtig ist auch der Befehl zum Löschen von Inhalten, da bei

fehlerhaften oder falschen Inhalten diese Funktion hilfreich sein kann.

Syntax:DELETE FROM Tabellen_Name

WHERE Spalten = Werten

Page 15: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Inhalte anordnenMöchte man die Spalteninhalte in eine bestimmte Reihenfolge bringen so liefert

uns PHP auch hier für einen Befehl:SELECT Spalten_Name(n)

FROM Tabellen_NameORDER BY Spalten_Name(n) ASC|DESC

DESC steht optional für eine absteigende Reihenfolge

ASC steht dem zur Folge für eine aufsteigende Reihenfolge

Page 16: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQLDaten bearbeiten

Nun neben dem Ordnen, Löschen, Einfügen und dem Abrufen kommen wir zu einem der wichtigsten

Befehle, dem bearbeiten von Werten innerhalb von Spalten:

Update TabellenName

Set Spalte1=Wert, Spalte2=Wert2,...

WHERE Spalten=Werte

Page 17: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Praxis von PHP und MySQL am Praxis von PHP und MySQL am KursprojektKursprojekt

Page 18: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Bestandsaufnahme zur OrientierungBestandsaufnahme zur Orientierung

Was haben wir? PHP Script zur Auswertung einer

Datenquelle

.txt- Dateien als Datenquelle

SQL- Datenbank mit einer Tabelle als gleichwertige Datenquelle

Page 19: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Bestandsaufnahme zur OrientierungBestandsaufnahme zur Orientierung

Was wollen wir? Die Auswertung der SQL- Datenbank durch

das PHP- Script

Was müssen wir also tun? Die SQL- Datenbank als Datenquelle in das

PHP- Script einbinden und die Datenauswertung anpassen

Page 20: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

1. Schritt: Einbindung der SQL- 1. Schritt: Einbindung der SQL- DatenbankDatenbank

Verbindung zur Datenbank=>mysql_connect(servername,username,pass

word);

Servername = localhostUsername = ?Password = ?

Page 21: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

1.1 Schritt: Erstellung eines 1.1 Schritt: Erstellung eines Benutzers in der SQL- DatenbankBenutzers in der SQL- Datenbank

• In phpMyAdmin einloggen

• Menüpunkt Rechte auswählen

• Neuen Benutzer hinzufügen

• Benutzername/Passwort eingeben

• Host: Lokal auswählen und alle Rechte zuteilen

Page 22: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

1.2 Schritt: Verbindung zur 1.2 Schritt: Verbindung zur DatenbankDatenbank

=>mysql_connect(localhost,username,passwo

rd);

• Abbruch des Scripts bei fehlerhafter Verbindung• Speicherung in einer Variable:

$con = mysql_connect("localhost","Andre","abc");

if (!$con) { die('Verbindung konnte nicht hergestellt werden: ' .

mysql_error()); }

Page 23: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

1.3 Schritt: Abfragen der Daten 1.3 Schritt: Abfragen der Daten aus der SQL- Datenbankaus der SQL- Datenbank

Datenbank auswählen:=>mysql_select_db("koelncampus", $con);

Alle Daten aus der Tabelle „sendungen“ abfragen und in einer Variable speichern:

=>$result = mysql_query("SELECT * FROM sendungen");

Page 24: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

1.4 Schritt: Unsere Auswahlliste 1.4 Schritt: Unsere Auswahlliste anpassenanpassen

• Die Spalteninhalte einer Zeile in ein Array transformieren

• Die Tabelle dabei Zeilenweise ausgeben:

=>while- Schleife:

while($zeile = mysql_fetch_array($result)

{ Ausgabe;}

Page 25: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

• Die bestehende Deklaration der Listeninhalte anpassen und in die while- Schleife als

Ausgabe einbinden:

while($zeile = mysql_fetch_array($result)) { if ($zeile[Programm] == $_GET[programm]){

echo "<option selected>$_GET[programm]</option>";}else {echo "<option>$zeile[Programm]</option>";}

}• Den Inhalt mit den alten Variablen auskommentieren

(bis auf die Ausgabe des $_GET und ausprobieren!!!

Page 26: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

1.5 Schritt: Verbindung schließen1.5 Schritt: Verbindung schließen

• Die Verbindung zur Datenbank wieder schließen:

=>mysql_close($con);

• Den Inhalt mit den alten Variablen auskommentieren (bis auf die Ausgabe

des $_GET) und ausprobieren!!!

Page 27: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

2. Schritt: Ausgabe der Inhalte 2. Schritt: Ausgabe der Inhalte der SQL- Datenbankder SQL- Datenbank

=>Verbindung aufbauen!=>Daten abfragen!=>Daten ausgeben!

=>Verbindung schließen!

=>Copy& Paste unserer oberen Abfrage in den Inhaltsbereich!

Page 28: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

• Die bestehende Ausgabe anpassen:

while($zeile = mysql_fetch_array($result)) { if ($zeile[Programm] == $_GET[programm]){ echo "$zeile[Datum]</br>";

echo "$zeile[Titel]</br>";echo "$zeile[Schlagzeile]</br>";echo "$zeile[Beschreibung]</br>";

echo "$zeile[Moderation]</br>"; echo "$zeile[Playlist]"; }

Page 29: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Fragen???Fragen???

Page 30: Allgemeine Technologien II PHP und MySQL Allgemeine Technologien II PHP und MySQL Universität zu Köln SS 2009 IT Zertifikat der Philosophischen Fakultät.

Allgemeine Technologien IIAllgemeine Technologien II

PHP und MySQLPHP und MySQL

Vielen Dank für Ihre Vielen Dank für Ihre Aufmerksamkeit!Aufmerksamkeit!