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
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
Allgemeine Technologien IIAllgemeine Technologien II
PHP und MySQLPHP und MySQL
Theorie von PHP und MySQLTheorie von PHP und MySQL
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>
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
Allgemeine Technologien IIAllgemeine Technologien II
PHP und MySQLPHP und MySQLBsp. MySQL Tabelle
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.
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()“
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.
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.
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.
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
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.
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
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
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
Allgemeine Technologien IIAllgemeine Technologien II
PHP und MySQLPHP und MySQL
Praxis von PHP und MySQL am Praxis von PHP und MySQL am KursprojektKursprojekt
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
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
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 = ?
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
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()); }
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");
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;}
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!!!
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!!!
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!
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]"; }
Allgemeine Technologien IIAllgemeine Technologien II
PHP und MySQLPHP und MySQL
Fragen???Fragen???
Allgemeine Technologien IIAllgemeine Technologien II
PHP und MySQLPHP und MySQL
Vielen Dank für Ihre Vielen Dank für Ihre Aufmerksamkeit!Aufmerksamkeit!
Top Related