Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Apache - PHP - MySQL Apache-PHP-MySQL.

Ähnliche Präsentationen


Präsentation zum Thema: "Apache - PHP - MySQL Apache-PHP-MySQL."—  Präsentation transkript:

1 Apache - PHP - MySQL Apache-PHP-MySQL

2 Client-Server-Prinzip
Browser Ebene (Client) Web-Server Ebene Datenbank-Server Ebene Web- Server #1 Web- Server #2 Datenbank- Server Datenbank- Server Apache-PHP-MySQL

3 LAMP (WAMP, XAMPP) Systemarchitektur (xampp)
Linux oder Windows oder MacOS als Betriebssystem Apache als Web Server MySQL als Datenbank-Server PHP als verbindende Skriptsprache ( --> Apachefriends) Apache-PHP-MySQL

4 Web Server - Apache Ein Web-Server beantwortet Anfragen, die durch Web-Clients an ihn gerichtet werden, d.h. er sendet die angeforderten Seiten zurück Apache Web Server sind mit 60 % Marktanteil das z.Z. marktbeherrschende Produkt ( Apache ist Open Source ( d.h. Quelltext der Software liegt offen  Möglichkeit der Kontrolle der Software Apache-PHP-MySQL

5 Datenbank Server - MySQL
MySQL ist ein relationales Datenbankmanagementsystem Einsatz vorrangig in kleinen und mittelgroßen Unternehmungen Kommunikation erfolgt über die Protokollfamilie TCP/IP Jedes Programm, welches TCP/IP und die SQL-Syntax versteht, kann mit MySQL kommunizieren ( Apache-PHP-MySQL

6 PHP – Hypertext Preprocessor
PHP ist eine serverseitig interpretierte, in HTML eingebundene Skriptsprache dient der Erstellung dynamischer Webseiten (reine HTML Seiten sind statisch) dynamische Web Seiten werden serverseitig, im Moment ihres clientseitigen Abrufs generiert ermöglicht somit Einbindung von Daten auf Basis von Nutzeraktionen z.B. Möglichkeit Formularinhalte auszuwerten und darauf zu reagieren Apache-PHP-MySQL

7 PHP - Funktionsweise PHP Code wird direkt in die HTML Seiten eingebunden Von HTML Seiten abweichende Dateiendung *.php Beispiel: Hello.php <html> <head><title>PHP Test</title></head> <body> <?php  echo  "Hello World<p>";  ?> </body> </html> Apache-PHP-MySQL

8 PHP Datenbankanbindung
PHP stellt Verbindung zwischen einer verwendeten Datenbank und dem Web-Server her Einbindung von gespeichertem Datenmaterial in Internetseiten PHP agiert somit u.a. als MySQL-Client Apache-PHP-MySQL

9 PHP – Interpreter (Modul)
Einbindung PHP als Apache-Modul Webseite in HTML: <html> <body> Hello world </body> </html> Browser (Client) Antwort Basis-Server Anfrage .php PHP – Interpreter (Modul) Webseite mit inte- griertem PHP-Code: <?php $str=„Hello world“; echo $str; ?> DB-Server (MySQL) Web-Server (Apache) Apache-PHP-MySQL

10 Beispielhafte DB Anbindung I
<?php $conn = mysql_connect("localhost", "Benutzername",  "Passwort"); $res = mysql_query("SELECT * FROM anmeldungen", $conn); $header_printed = false; print "<TABLE>\n"; do {     $data = mysql_fetch_array($res);     // Retrieve the next row of data.     if (!is_array($data)) {         break;     } Apache-PHP-MySQL

11 Beispielhafte DB Anbindung II
if (!$header_printed) {         print " <TR>";         reset($data);         while (list($name, $value) = each($data)) {             print "  <TH>$name</TH>\n"         }         print " </TR>\n";         $header_printed = true;     }     print " <TR>\n";     print "  <TD>";     print implode("</TD>\n  <TD>", $data);     print " </TR>\n"; } while ($data); print "</TABLE>\n"; ?> Apache-PHP-MySQL

12 Hinweise zur Übung Was ist zu beachten?
Wie installiere ich Apache, MySQL, PHP? Übungen mit PHP Übungen mit PHP - Apache - MySQL Apache-PHP-MySQL

13 Zu PHP (1): PHP-Code kann überall in HTML-Code eingebettet werden.
Um in den PHP-Modus zu wechseln wird die Zeichenfolge <?php verwendet. Zum Verlassen des PHP-Modus wird die Zeichenfolge ?> verwendet. Damit der Server weiß dass es sich um eine PHP-Datei handelt, die entsprechend PHP-Befehle enthalten, haben PHP-Dateien die Dateiendungen .php. <?php echo “Hallo, das ist eine PHP-Datei\n"; ?> (Quelle: für diese und folgende Folien zu PHP: Quakenet/#php Tutorial (gekürzt)) Apache-PHP-MySQL

14 Zu PHP (2): <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"     " <html xml:lang="de" lang="de">     <head> <title>PHP Test</title></head>     <body>         <?php         echo "<p>Dies ist ein PHP-Code</p>\n";         ?>     </body> </html> Text der sich außerhalb von PHP befindet (üblicherweise HTML-Code) wird als solches zum Client gesendet, ohne dass er vom PHP-Interpreter bearbeitet wird. Er kann aber auch durch PHP-Konstrukte wie Schleifen gesteuert werden. Apache-PHP-MySQL

15 Zu PHP (3): Strings ausgeben
Hauptziel eines PHP-Skriptes ist es, unabhängig von der Logik die dahinter steckt, eine Ausgabe zu erzeugen. Um in einem PHP-Skript Texte auszugeben (ohne den PHP-Modus zu verlassen) wird üblicherweise der Sprachkonstrukt echo verwendet. Ein Beispiel könnte wie folgt aussehen. <?php echo  ‘auszugebender Text'; ?> Das Erste was auffällt ist die Tatsache dass die Klammern der Funktion fehlen. Das liegt daran dass echo keine Funktion sondern ein spezieller Sprachkonstrukt ist. Apache-PHP-MySQL

16 Zu PHP (4): HTML-Code bzw. die besonderen Zeichen < und > können in Strings ohne Probleme benutzt werden. Somit können am Ende des ersten Strings das HTML-Element <br/> Angefügt werden. <?php echo 'Ein Text, der ausgegeben wird<br/>'; echo 'Nun folgt ein anderer Text'; ?> Wie erwartet steht im Browser den folgenden Inhalt. Ein Text, der ausgegeben wird Nun folgt ein anderer Text Wenn der Quellcode im Browser betrachtet wird stehen beide Strings weiterhin hintereinander. Ein Text, der ausgegeben wird<br/>Nun folgt ein anderer Text Apache-PHP-MySQL

17 Zu PHP (5): Steuerzeichen in Strings Tabelle der Escape-Sequencen
Zeichen Beschreibung \n Zeilenumbruch \r Wagenrücklauf, oft verwendet bei Netzwerkprotokollen. \t Tabulator \v Vertikaler Tabulator, eher selten verwendet \f Seitenvorschub, noch seltener verwendet \$ Dollarzeichen Ohne diese Sequenz wird versucht, eine Variable zu finden und dessen Inhalt einzufügen. Apache-PHP-MySQL

18 Zu PHP (6): Was sind Variablen?
Üblicherweise dienen PHP-Skripte dazu, eine Ausgabe dynamisch zu erzeugen. Die PHP-Skripte selbst sind jedoch konstant, was deren Inhalt betrifft. Daher müssen wir im PHP-Skript etwas haben, was dynamisch gefüllt werden kann. Dafür gibt es Variablen. Sie werden vom Skript entsprechend mit Daten gefüllt und können dann an anderer Stelle im Skript verwendet werden. Aufbau von Variablen Damit Variablen in PHP als solche erkannt werden, müssen sie besonders gekennzeichnet werden. Daher beginnen alle Variablen in PHP mit dem Dollarzeichen $. Danach müssen sie mit einem Buchstaben oder Unterstrich _ beginnen. Nach dem ersten Zeichen können auch Ziffern im Variablennamen stehen. Apache-PHP-MySQL

19 Zu PHP (7): <?php $gueltig $10_nicht_gueltig ?>
Variablen in PHP sind case-sensitiv, d.h. die Groß-/Kleinschreibung spielt eine Rolle und ist wichtig. Die Variable $foo ist eine andere als $FOO. Insbesondere bei den Superglobalen Variablen ist das wichtig, da diese z.B. $_GET lauten und nicht z.B. $_get. Apache-PHP-MySQL

20 Zu PHP (8): Zuweisungsoperator
Um eine Variable mit einem Wert zu füllen, wird der Zuweisungsoperator = verwendet. Dabei muss die Variable links vom Gleichheitszeichen stehen, der Wert der gespeichert werden soll rechts. <?php $var = 'Inhalt'; $_auch_gültig = "anderer Inhalt"; $123 = "nicht gültig :("; $eine_variable = $andere_variable; ?> Ausgabe: <?php echo 'Meine  adresse ist: '; echo $ ; ?> Apache-PHP-MySQL

21 Zu PHP (9): Verketten von Strings und Variablen
Ein Operator von PHP ist der Verkettungsoperator, der als einzelner Punkt geschrieben wird (.). Dieser wird verwendet um zwei Ausdrücke miteinander zu verbinden. <?php 'Max'.'Mustermann'; // erzeugt den String "MaxMustermann" ?> Dabei ist es egal, ob es sich um Strings oder Variablen handeln, die man verketten möchte. Auch Zahlen können so mit Strings verkettet werden. <?php 'Foo'.'Bar'; 'Bla'.$var; $var1.$var2; ?> Apache-PHP-MySQL

22 Zu PHP (10): Bei diesen Beispiel-Codes wurde zwar die Verkettung ausgerechnet, doch das Ergebnis wurde nicht verwendet. Da das ganze auch wieder als Ausdruck gilt, kann es z.B. in eine Variable gespeichert werden oder direkt mit echo ausgegeben werden. <?php $texte = 'Foo'.'Bar'; echo $variable.'String'; ?> Die Anzahl der Verkettungen ist unbegrenzt. PHP verkettet intern dabei stets weiterhin 2 Ausdrücke miteinander und nutzt das Ergebnis für die nächste Verkettung. <?php $name = $vorname.' '.$nachname; // vorname + ein leerzeichen + nachname echo 'Ich heiße '.$name.', guten Tag.'; ?> Apache-PHP-MySQL

23 Zu PHP (11): Datentyp Zahlen
Wenn man in seinen PHP-Skripten mit Variablen(inhalten) rechnen möchte, muss man dazu einen Datentyp benutzen, der dazu dient, Zahlen darzustellen. Eine naive Möglichkeit ist es, die Zahlen in Strings zu schreiben und damit zu rechnen. <?php echo "5"+"9"; ?> Dies gibt wie erwartet 14 aus. Hier haben wir jedoch Strings miteinander addiert. In der Regel klappt dies nicht, hier hat jedoch Typecasting zugeschlagen und die Strings vorher in echte Zahlen umgewandelt. Für Zahlen gibt es in PHP zwei Datentypen. Dies sind einmal Integer-Zahlen und einmal Float-Zahlen. Apache-PHP-MySQL

24 Zu PHP (12): Integer-Zahlen
Integer-Zahlen sind ganzzahlige Werte, enthalten also kein Nachkommastellen. Beispiele sind 5, 31 oder 199, aber auch negative Zahlen wie -1, -10 oder -44. In PHP schreibt man Integer-Zahlen einfach in den Quelltext, der PHP-Interpreter erkennt diese Ziffernfolge als Zahl. <?php $var = 5; $var2 = 31; $var3 = -10; ?> Apache-PHP-MySQL

25 Zu PHP (13): Float-Zahlen
Float-Zahlen sind Werte mit Nachkommastellen, Beispiele davon sind 5.7, oder -4.07, aber auch 10.0, 3.1E-10 oder 4.5e3. <?php $var = 5.7; $var2 = 3.1E-10; $var = .1; ?> Float-Zahlen erkennt man an den Dezimalpunkt ., des Weiteren wird nicht ein Kommata (,) für die Nachkommastellen verwendet. Da der Punkt jedoch auch für die String-Verkettung benutzt wird, muss man hier ein wenig aufpassen, wenn man Float-Zahlen mit Strings verketten will. Notfalls ist es nötig, Klammern zu verwenden. <?php echo 'Prozentualer Anteil:'.77.3.'%'; // wird nicht klappen echo 'Prozentualer Anteil:'.(77.3).'%'; // klappt echo 'Prozentualer Anteil:'. 77.3 .'%'; // klappt, die Leerzeichen "helfen" hier  ?> Apache-PHP-MySQL

26 Zu PHP (14): Rechenoperatoren
Um einfache Rechenoperationen auszuführen, gibt es in PHP 6 Rechenoperatoren. Das sind einmal die 4 Grundrechenarten +, -, * und / und der %-Operator, der den ganzzahligen Rest einer Division bestimmt, und dann noch der --Operator der eine Zahl negiert. <?php $a = 10; $b = 6; echo $a-$b;   // 4 echo $a+$b;   // 16 echo $a*$b;   // 60 echo $a/$b;   // float( ) echo -$a;     // -10, analog würde natürlich auch echo 0-$a; gehen echo $a%$b;   // 4 (6 passt einmal in 10, Rest ist 4) ?> Apache-PHP-MySQL

27 Zu PHP (15): Für kompliziertere Berechnungen gibt es eine Menge mathematischer Funktionen, z.B.: ist eine solche Funktion, die eine Potenz errechnet (x hoch y). <?php $basis = 5; $exponent = 7; echo $basis^$exponent;      // gibt 2 aus, also absolut nicht das was man wollte echo pow($basis, $exponent);  // gibt 78125 aus  ?> Apache-PHP-MySQL

28 Zu PHP (16): Datentyp Boolean
In PHP gibt es einen Datentyp, der theoretisch nur ein einzelnes Bit Speicherplatz benötig. Mit einem Bit können nur die zwei verschiedenen Wert 0 und 1 dargestellt werden. In Programmiersprachen spricht man eher von den Werten true (für 1) und false (für 0). Dieser Datentyp wird dazu verwendet um zu sagen, ob etwas stimmt oder nicht. Oft wird die kleingeschriebene Schreibweise verwendet. <?php $var = true; $var2 = false; $var3 = TRUE; $var4 = FaLsE; $var5 = 'true'; // dies ist der 4 Zeichen lange String 'true', nicht der  // boolesche wert true ?> Apache-PHP-MySQL

29 Zu PHP (17): Kontrollstrukturen
Kontrollstrukturen in PHP werden dazu verwendet, den Programmfluss zu steuern. Die Steuerung ist dabei die Frage, ob ein Programmcode ausgeführt werden soll oder nicht. Dazu verwendet man den Sprachkonstrukt if. Der Aufbau ist dabei wie folgt: <?php if (ausdruck) anweisung ?> Der Ausdruck wird von PHP verarbeitet und muss einen Wert zurückliefern. Dieser wird dann geprüft, ob er dem booleschen Wert true entspricht. Wenn dies der Fall ist, wird die folgende Anweisung ausgeführt. Apache-PHP-MySQL 29 29

30 Zu PHP (18): <?php if (ausdruck)
 {     anweisung_1;     anweisung_2;     // ...     anweisung_n; } ?> Alternative Ausführung <?php if (login_gueltig)  {     // zeige adminbereich } else  {     // zeige loginformular } ?> Apache-PHP-MySQL 30 30

31 Zu PHP (19): Eine alternative Programmausführung kann auch mit elseif Strukturen erweitert werden. Dies ist ein Block, der zwischen dem if- und else-Block eingefügt wird. <?php if (cond)  {     // tu was } elseif (andere_cond)  {     // mach jenes } else  {     // mach dies } ?> Dieser elseif-Teil wird dann ausgeführt/geprüft, wenn die vorherige If-Abfrage false ergab. Apache-PHP-MySQL 31 31

32 Zu PHP (20): Es können dabei auch mehrere elseif-Teile verwendet werden: <?php if (cond)  {     // tu was } elseif (andere_cond)  {     // mach jenes } elseif (und_andere_bedingung)  {     // mach das } elseif (bedingung)  {     // php-code } else {     // mach dies } ?> Apache-PHP-MySQL 32 32

33 Zu PHP (21): Vergleichsoperator ==
Um zwei Werte auf Gleichheit zu testen, verwendet man in PHP den == Operator. Auf beiden Seiten des Operators werden die Inhalte hingeschrieben, die man vergleichen möchte. <?php "max" == "müller";         // ergibt bool(false), das Ergebnis wurde jedoch  // nicht verwendet/gespeichert $check = "max" == $var;   // prüft den Inhalt und speichert true oder false  // in $check var_dump('foo' == 'bar');  // gibt bool(false) aus ?> Apache-PHP-MySQL 33 33

34 Zu PHP (22): Andere Vergleichsoperatoren
Neben == gibt es noch weitere Vergleichsoperatoren. Für Zahlen existieren zusätzlich die Operatoren <, <=, > und >= die entsprechend das Prüfen, was die Zeichen darstellen und wie man sie im täglichen Sprachgebrauch benutzt. <?php $var = 5 < 7;      // ist true $var = 10 <= 10;   // ist true $var = 9 > 9;      // ist false ?> Dann gibt es noch den Ungleichoperator != um zu prüfen, ob zwei Werte unterschiedlich sind. <?php $var = 10 != 10;   // false $var = 0 != 1;     // true, da verschieden ?> Apache-PHP-MySQL 34 34

35 Zu PHP (23): AND-Verknüpfung
Die AND-Verknüpfung ist die einfachste logische Verknüpfung. Das Ergebnis solch einer Verknüpfung liefert true, wenn beide Argumente true sind. Im Sprachgebrauch verwendet man AND intuitiv genau so, wie z.B. bei Du darfst draußen spielen, wenn du deine Hausaufgaben gemacht hast und dein Zimmer aufgeräumt ist. In PHP wird diese Verknüpfung mit dem AND-Operator realisiert. <?php $var = false and false;  // erzeugt false $var = false and true;   // erzeugt false $var = true  and false;  // erzeugt false $var = true  and true;   // erzeugt true $spielen = $hausaufgaben_fertig and $zimmer_aufgeraeumt; ?> Apache-PHP-MySQL 35 35

36 Zu PHP (24): OR-Verknüpfung
Eine OR-Verknüpfung ist die zweite Standardverknüpfung in PHP, die mit dem Schlüsselwort or realisiert wird. <?php $var = false or false; // liefert false $var = false or true;  // liefert true $var = true  or false; // liefert true $var = true  or true;  // liefert true $gruen_schalten = $knopf1 or $knopf2; ?> Apache-PHP-MySQL 36 36

37 Zu PHP (25): NOT-Operator
Der NOT-Operator ist ein Operator, der nur einen Wert benötigt, nicht wie die anderen beiden Operatoren zwei. Daher gibt es auch nur 2 mögliche Kombinationen: entweder der Wert für den Parameter ist true oder false. In PHP wird dieser Operator mit dem Zeichen ! erzeugt, der zu prüfende Wert wird dann dahinter geschrieben. Das Ergebnis dieses Operators ist die Negation vom verwendeten Wert. Also aus true wird false und umgekehrt. <?php $ist_kopf = !$ist_zahl; ?> Apache-PHP-MySQL 37 37

38 Zu PHP (26): XOR-Verknüpfung
Eine (weitere) erweiterte Verknüpfung ist die XOR-Verknüpfung. Sie arbeitet wie eine OR-Verknüpfung, jedoch darf nur ein Wert true sein. Wenn beide Werte true sind, liefert diese Verknüpfung false. <?php $check = ($var1 and !$var2) or (!$var1 and $var2); ?> In PHP gibt es dafür die Verknüpfungszeichenkette xor. Das x steht dabei für exclusive. <?php $check = false xor false;  // false $check = true  xor false;  // true $check = false xor true;   // true $check = true  xor true;   // false $geschlecht_gueltig = $ist_m xor $ist_w; ?> Apache-PHP-MySQL 38 38

39 Zu PHP (27): Switch-Abfragen
Bei einer switch-Abfrage handelt es sich um eine spezielle Art der Kontrollstruktur. Im Gegensatz zu einer if-Abfrage kann mit einer switch-Abfrage nur ein direkter Vergleich mit einem Wert durchgeführt werden. Wo es mit if möglich ist, komplexe Abfragen mit logischen Verknüpfungen zu erzeugen, verwendet eine switch-Abfrage intern nur den Vergleichsoperator ==. Eine Switch-Abfrage wird mit dem Schlüsselwort switch eingeleitet. Danach folgt in runden Klammern den Ausdruck der geprüft werden soll, üblicherweise eine Variable. Danach folgt der Switchrumpf, eingeleitet und beendet durch geschweifte Klammern ({}). <?php switch ($var)  { } ?> Apache-PHP-MySQL 39 39

40 Zu PHP (28): <?php $var = 4; switch ($var)
{ case 0: echo "Ich werde nicht ausgeführt"; case 4:   echo "Ich schon"; case 90: echo "Ich jedoch auch"; } ?> Wenn PHP zu einem case-Block hinspringt, führt er den PHP-Code an dieser Stelle aus. Wenn er dabei auf weitere case-Zeilen stößt, werden diese ignoriert. Dies bedeutet auch, das er nicht automatisch beim nächsten case stoppt. Apache-PHP-MySQL 40 40

41 Zu PHP (29): Wenn dieses Verhalten nicht erwünscht ist, kann man eine break-Anweisung hinzufügen. Dies beendet dann den case-Teil und springt somit zum Ende der Switch-Abfrage. <?php $var = 4; switch ($var)  { case 0:      echo "Ich werde nicht ausgeführt";      break; case 4:      echo "Ich schon";      break; case 90:      echo "Ich nicht mehr";      break;  // theoretisch überflüssig, man ist eh schon am ende } ?> // default: – wenn kein passendes case vorhanden ist Apache-PHP-MySQL 41 41

42 Zu PHP (30): Schleifen Es gibt 3 Arten von Schleifen in PHP: while, do-while und for sowie eine vierte Art foreach für arrays. While-Schleifen Eine while-Schleife ist der einfachste Schleifentyp. Sie besitzt einen Schleifenkopf, in dem nur ein Ausdruck steht. Dieser Ausdruck wird vor jedem Schleifendurchlauf ausgewertet und auf Boolean geprüft. Wenn der Ausdruck true ergibt, so wird der Schleifenrumpf ausgeführt. Danach beginnt die nächste Überprüfung des Schleifenkopfs. Wenn der Ausdruck false ergibt, so wird die Schleife beendet bzw. übersprungen und der weitere PHP-Code wird ausgeführt. Da der Ausdruck ständig für einen neuen Schleifendurchlauf überprüft wird, muss der Ausdruck irgendwann den Wert false liefern, damit die Schleife abgebrochen wird. Wenn dies nicht der Fall ist, hat man eine Endlosschleife, das Skript terminiert nicht sauber und der Webserver bricht das Skript von sich aus mit einer entsprechenden Fehlermeldung (meist nach 30 Sekunden) ab. Apache-PHP-MySQL 42 42

43 Zu PHP (31): Eine While-Schleife wird in PHP mit dem Schlüsselwort while eingeleitet. Danach folgt in runden Klammern (()) der zu prüfende Ausdruck. Dann folgt ein einzelne Anweisung oder mehrere Anweisungen in geschweiften Klammern ({}) , die von der Schleife gesteuert werden. Obwohl eine einzelne Anweisung keine geschweiften Klammern benötigt, ist es wie bei einer if-Abfrage üblich, trotzdem geschweifte Klammern zu verwenden, um die Übersichtlichbarkeit zu erhöhen. <?php while (isAutoDreckig())  {      Reinigen(); } ?> Apache-PHP-MySQL 43 43

44 Zu PHP (32): Do-While-Schleife
Eine Do-While-Schleife besitzt wie die while-Schleife einen zu prüfenden Ausdruck. Dieser steht jedoch am Ende der Schleife und wird auch erst an dieser Stelle überprüft. Da der Schleifenrumpf vor dem Schleifenkopf steht, kann der Schleifenkopf erst nach einem Durchlauf überprüft werden. Dies bedeutet auch, das eine Do-While-Schleife mindestens einmal durchlaufen wird, selbst wenn die Schleifenbedingung false ergibt. Dies ist auch der Unterschied zu einer While-Schleife. Wenn man möchte, dass die Schleife mindestens 1 mal durchlaufen wird, verwendet man eine Do-While-Schleife. Wenn die Schleife auch 0 mal durchlaufen werden soll, verwendet man eine While-Schleife. Apache-PHP-MySQL 44 44

45 Zu PHP (33): Eine Do-While-Schleife wird mit dem Schlüsselwort do eingeleitet. Danach folgt der Schleifenrumpf, also die Anweisungen, die in einer Schleife ausgeführt werden sollen. Danach kommt das Schlüsselwort while, dann der zu prüfende Ausdruck in runden Klammern und dann (zwingend erforderlich) ein Semikolon. Bei einer While-Schleife ist ein Semikolon nicht Bestandteil der While-Schleife (so fehlerhaft wie bei if();), bei einer Do-While-Schleife hingegen pflicht. <?php do  {      Verbinden();      $daten = DatenAbfragen();      VerbindungBeenden(); } while ($daten > 40) // was auch immer dieser Code machen wird... ?> Apache-PHP-MySQL 45 45

46 Zu PHP (34): For-Schleife
Eine For-Schleife ist wie eine While-Schleife eine kopfgesteuerter Schleife (Do-While-Schleife ist fußgesteuert). Der Schleifenkopf ist somit vor dem Schleifenrumpf. Auch er enthält einen zu prüfenden Ausdruck. Zusätzlich zu einer While-Schleife enthält er noch 2 weitere Felder. Das eine Feld wird einmal zum Start ausgeführt, das andere Feld wird nach jedem Schleifendurchlauf ausgeführt. Eine For-Schleife wird mit dem Schlüsselwort for eingeleitet. Danach folgen in runden Klammern die 3 Felder von der for-Schleife, getrennt mit ;. Nach dem Schleifenkopf folgt wie üblich der Schleifenrumpf mit den Anweisungen. <?php for (startanweisung; bedingung; durchlaufanweisung)  {      // anweisungen... } ?> Apache-PHP-MySQL 46 46

47 Zu PHP (35): Am Anfang wird der Teil Startanweisung ausgeführt (einmal). Dann wird wie bei while die Bedingung Bedingung geprüft und demnach entschieden, ob der Schleifenrumpf ausgeführt werden soll oder nicht. Am Ende des Schleifendurchlaufs, aber vor der nächsten Überprüfung, wird der Teil Durchlaufanweisung ausgeführt. <?php // gib die Zahlen von 0 bis 9 aus (bei 10 ist die Bedingung false) for ($i=0; $i<10; $i++)  {      echo $i."\n"; } ?> Apache-PHP-MySQL 47 47

48 Zu PHP (36): Aufbau von Arrays
Arrays sind in PHP ein wichtiger Bestandteil. Formulardaten und URL-Parameter sind z.B. in Arrays abgelegt. Werte aus einer Datenbank werden in einem Array gespeichert. Alles was einer mathematischen Funktion entspricht, wird in PHP mit einem Array dargestellt. Formal sind Arrays geordnete (nicht zu verwechseln mit sortiert) Paare von Schlüsseln und Werten. Die Schlüssel, entsprechend im englischen keys genannt, dürfen dabei nur aus Integer-Zahlen oder Strings bestehen. Die Werte sind hingegen nicht eingeschränkt, dürfen insbesondere auch ihrerseits Arrays enthalten. Ein einzelnes Element aus so einem Array verwendet man dann ganz normal wie Variablen. Apache-PHP-MySQL 48 48

49 Zu PHP (37): Verwenden von Arrays
Arrays werden in PHP mit dem Sprachkonstrukt array erzeugt. Die Werte für das Array gibt man dann mit Kommata getrennt als Parameter an. <?php $arr = array("foo", "bar", "bla", 5.6, false, -10, "foo", "foo", "bar", "foo"); ?> Dieses Array besitzt 10 Elemente. Die Schlüssel, oder auch Indizes (Mehrzahl von Index), werden dann automatisch bestimmt, beginnend bei 0 aufsteigend. Somit gehört zum ersten aufgelisteten Arrayelement der Index 0, das letzte aufgelistete Arrayelement besitzt den Index 9. Apache-PHP-MySQL 49 49

50 Zu PHP (38): <?php $arr = array("foo", "bar", "bla", 5.6, false, -10, "foo", "foo", "bar", "foo"); echo $arr[0];   //  gibt foo aus echo $arr[3]; //  gibt 5.6 aus echo $arr[4];  //  gibt nichts aus, das liegt daran das //  'bool(false)' für echo zu 'string(0) ""' wird var_dump($arr[4]);  //  gibt bool(false); aus ?> Wie man sieht, können gleiche Werte im Array vorhanden sein, da sie sich im Schlüssel unterscheiden. So gibt es Arrayelemente mit dem Wert foo und den Indizes 0, 6, 7 und 9. Apache-PHP-MySQL 50 50

51 Zu PHP (39): Die Werte eines Arrayelements können beliebig verändert werden, indem der neue Wert wie bei einer Variablen zugewiesen wird. <?php $arr = array("eins", "zwei"); $arr[1] = "fünf"; ?> Wenn es bereits ein Arrayelement mit dem angegebenen Index gibt, so wird der alte Wert mit den neuen Wert überschrieben. Wenn es kein solches Arrayelement gibt, wird ein neues Arrayelement an das Array angefügt, mit dem angegebenen Index und Wert. Damit ist es möglich, zuerst ein leeres Array zu erzeugen und nachher dieses zu füllen. <?php $arr = array(); $arr[3] = "wert"; $arr[9] = "anderer wert"; var_dump($arr); ?> Apache-PHP-MySQL 51 51

52 Zu PHP (40): Neben Zahlen können auch Strings als Schlüssel/Indizes verwendet werden. <?php $user = array(); $user['Name'] = 'Max Mustermann'; $user['Alter'] = 18; $user['Wohnort'] = 'Deutschland'; echo 'Mein Name ist '.$user['Name'].', ich bin '.$user['Alter'].' Jahre alt  und lebe in '.$user['Wohnort'].".\n"; var_dump($user); ?> Die Ausgabe ist dabei wie folgt: Mein Name ist Max Mustermann, ich bin 18 Jahre alt und lebe in Deutschland. array(3) { ["Name"]=> string(14) "Max Mustermann" ["Alter"]=> int(18) ["Wohnort"]=> string(11) "Deutschland“ } Apache-PHP-MySQL 52 52

53 Zu PHP (41): Foreach-Schleifen
Für Arrays gibt es den speziellen Schleifentyp foreach. Mit diesem Schleifentyp werden die einzelnen Arrayelemente eines Arrays durchlaufen. Eine Foreach-Schleife beginnt mit dem Schlüsselwort foreach. Dann folgt nach der öffnenden Klammer das Array bzw. die Variable, die das Array enthält, welches durchlaufen werden soll. Danach folgt das Schlüsselwort as und eine neue Variable. In dieser Variable wird für jeden Schleifendurchlauf der neue Wert des nächsten Arrayelements gespeichert. Nach der folgenden schließenden Klammer beginnt der Schleifenrumpf. <?php $a = array("foo", "bar", "bla"); foreach ($a as $value)  {     echo $value."\n"; } // gibt nacheinander die Werte aus dem Array aus     ?> Apache-PHP-MySQL 53 53

54 Zu PHP (42): Wenn man zusätzlich zu den Werten noch die entsprechenden Arrayindizes benötigt, muss man vor der Schleifenvariable noch $var => schreiben. Auch hier kann der Variablennamen frei gewählt werden. <?php $user = array('Name' => "Max Mustermann",               'Alter' => 18,               'Wohnort' => 'Deutschland',               10 => 100); foreach ($user as $k => $v) {      echo "Arrayelement mit dem Index '".$k."' enthält den Wert '".$v."'\n"; } ?> Die Indizes werden z.B. dann gebraucht, wenn in der Schleife Arrayelemente verändert werden sollen. Die Schleifendurchlaufvariablen enthalten nur Kopien der Arrayelemente. Wenn man nun ein Arrayelement verändern möchte, muss man wie üblich über array[index] zugreifen. Apache-PHP-MySQL 54 54

55 1. PHP-Übung <html>
<head><title>1. Uebung mit PHP (ueb1.php)</title></head> <body bgcolor="#ffff00"> <?php echo "Hallo PHP!"; ?> </body> </html> Apache-PHP-MySQL

56 2. PHP-Übung <html>
<head><title>2. Uebung mit PHP (ueb2.php)</title></head> <body bgcolor="#00ffff"> <?php echo "Hallo PHP!<p>"; $a=33.5; $b=7; $c=$a/$b; $x="Division"; echo "Die $x von $a und $b ist $c"; ?> </body> </html> Apache-PHP-MySQL

57 2. PHP-Übung <html>
<head><title>2. Uebung mit PHP (ueb2.php)</title></head> <body bgcolor="#00ffff"> <?php echo "Hallo PHP!<p>"; $a=33.5; $b=7; $c=$a/$b; $x="Division"; echo "Die $x von $a und $b ist $c"; ?> </body> </html> Apache-PHP-MySQL

58 2. PHP-Übung <html>
<head><title>2. Uebung mit PHP (ueb2.php)</title></head> <body bgcolor="#00ffff"> <?php echo "Hallo PHP!<p>"; $a=33.5; $b=7; $c=$a/$b; $x="Division"; echo "Die $x von $a und $b ist $c"; ?> </body> </html> Apache-PHP-MySQL

59 2. PHP-Übung <html>
<head><title>2. Uebung mit PHP (ueb2.php)</title></head> <body bgcolor="#00ffff"> <?php echo "Hallo PHP!<p>"; $a=33.5; $b=7; $c=$a/$b; $x="Division"; echo "Die $x von $a und $b ist $c"; ?> </body> </html> Apache-PHP-MySQL

60 3. PHP-Übung <html>
<head><title>3. Uebung mit PHP (ueb3.php)</title></head> <body bgcolor="#bbbb00"> <form action="ueb-php.php" method=post> <input type=float size=20 name="x"><p> <input type=float size=20 name="y"><p> <input type="submit" value="weg damit!"> <input type="reset" value="zurueck!"> </form> </body> </html> Apache-PHP-MySQL

61 zur 3. PHP-Übung <html>
<head><title>3. Uebung mit PHP (ueb-php.php)</title></head> <body bgcolor="#aaaa00"> <?php echo "Hallo, nochmals PHP!<p>"; $z=$x*$y; echo "Die Multiplikation von $x und $y ist $z<p>"; $a=$x/$y; echo "Die Division von $x und $y ist $a<p>"; ?> </body> </html> Apache-PHP-MySQL

62 <body bgcolor="#33ffff">
<html> <head><title>Kleines Quiz (quiz.html)</title></head> <body bgcolor="#33ffff"> <h2>Kleines Quiz</h2><a> <form action="quiz2.php" method="post"> Was ist ein Verschlüsselungssystem?<p> <br><input type="radio" name="otto" value="1"> PHP <br><input type="radio" name="otto" value="2"> PGP <br><input type="radio" name="otto" value="3"> HTML <br><input type="radio" name="otto" value="4"> TCP/IP <p> <br><input type="submit" value="Abschicken"> </form> </body> </html> Apache-PHP-MySQL

63 <body bgcolor="#88aabb">
<html> <head><title>Ergebnis (quiz2.php)</title></head> <body bgcolor="#88aabb"> <h2>Ihr Ergebnis:</h2><a> <?php if ($otto == 2) { echo "Glückwunsch, richtig!"; } else echo "Leider falsch!"; ?> </body> </html> Apache-PHP-MySQL

64 MySQL-Datenbank „Firma“ mit der Tabelle „Personen“
Datenbankname: Firma Tabelle: Personen Struktur: name varchar(20) vorname varchar(20) personalnummer varchar(5) gehalt decimal(10,0) geburtstag date schluessel varchar(5) Apache-PHP-MySQL

65 Aufbau des DB-Beispiels „Firma“
db2.php  Datensatz-Anzeige ohne Tabellendarstellung db3.php  Datensatz-Anzeige in einer Tabellenform db4.php  Eingabe von Datensätzen db7.php  Änderung eines Datensatzes db9.php  Auswahl eines zu löschenden Datensatzes db10.php  Update des Datensatzes (db11.php  Löschen des Datensatzes (mit Anzeige) ) db12.php  Schließen der Datenbank „Firma“ Anmerkung: Die Dateien dbx.php müssen im Verzeichnis „htdocs“ gespeichert sein. Der Aufruf erfolgt in der URL eines Browsers mit Apache-PHP-MySQL

66 PHP-Quelltexte des Datenbankbeispiels „Firma“
Hier: Anzeige aller Datensätze in Tabellenform Apache-PHP-MySQL

67 PHP-Quelltexte des Datenbankbeispiels „Firma“
db2.php (1) <HTML> <HEAD> <TITLE>PHP-Beispiel zu DB: Datensatz-Anzeige ohne Tabelle (db2.php) </TITLE> </HEAD> <BODY BGCOLOR="#00FFFF"> <?php $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $res=mysql_query("SELECT * FROM personen"); $num=mysql_num_rows($res); $result = mysql_query("SELECT COUNT(*) AS anz FROM personen") or die("fehler query"); $row = mysql_fetch_assoc($result); echo "<h2>Anzahl der Datensätze: ".$row['anz']."</h2>"; Apache-PHP-MySQL

68 PHP-Quelltexte des Datenbankbeispiels „Firma“
db2.php (2) for($i=0;$i<$num;$i++) { $nn=mysql_result($res, $i, "name"); $vn=mysql_result($res, $i, "vorname"); $pn=mysql_result($res, $i, "personalnummer"); $ge=mysql_result($res, $i, "gehalt"); $gt=mysql_result($res, $i, "geburtstag"); echo "$vn $nn, $pn, $ge, $gt<br>"; } mysql_close($db); ?> <hr> <a href="db3.php">Zur Anzeige aller Datensätze als Tabelle</a><p> <a href="db9.php">Zum Löschen eines Datensatzes</a><p> <a href="db4.php">Zur Eingabe eines Datensatzes</a><p> <a href="db7.php">Zum Ändern eines Datensatzes</a><p> <a href="db12.php">Datenbank "Firma" beenden</a> </BODY> </HTML> Apache-PHP-MySQL

69 PHP-Quelltexte des Datenbankbeispiels „Firma“
db3.php (1) <HTML><HEAD><TITLE>PHP-Beispiel zu DB: Anzeige in einer Tabelle (db3.php) </TITLE></HEAD> <BODY BGCOLOR="#00FFFF"> <table bgcolor="#FFFF00" border=2 cellspace=3 cellpadding=3> <tr><th>Personaldatei</th></tr> <tr><th>Personalnummer</th><th>Vorname</th><th>Nachname</th> <th>Gehalt</th><th>Geburtsdatum</th></tr> <?php $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $res=mysql_query("SELECT * FROM personen"); $num=mysql_num_rows($res); $result = mysql_query("SELECT COUNT(*) AS anz FROM personen") or die("fehler query"); $row = mysql_fetch_assoc($result); echo "<h2>Anzahl der Datensätze: ".$row['anz']."</h2>"; Apache-PHP-MySQL

70 PHP-Quelltexte des Datenbankbeispiels „Firma“
db3.php (2) for($i=0;$i<$num;$i++) { $nn=mysql_result($res, $i, "name"); $vn=mysql_result($res, $i, "vorname"); $pn=mysql_result($res, $i, "personalnummer"); $ge=mysql_result($res, $i, "gehalt"); $gt=mysql_result($res, $i, "geburtstag"); echo "<tr><td>$pn</td><td>$vn</td><td>$nn</td> <td>". number_format($ge,2,",",".")." EUR</td>"; echo "<td>$gt</td></tr>"; } mysql_close($db);?> </table> <hr> <a href="db7.php">Zum Ändern eines Datensatzes</a><p> <a href="db2.php">Zur Anzeige aller Datensätze ohne Tabellenform</a><p> <a href="db9.php">Zum Löschen eines Datensatzes</a><p> <a href="db4.php">Zur Eingabe eines Datensatzes</a><p> <a href="db12.php">Datenbank "Firma" beenden</a> <hr> </BODY> </HTML> Apache-PHP-MySQL

71 PHP-Quelltexte des Datenbankbeispiels „Firma“
db4.php (1) (Eingabe eines Datensatzes) <?php $Abschicken = $_GET["Abschicken"]; echo "Abschicken: $Abschicken\n"; if ($Abschicken=="senden") { $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $eintrag="INSERT INTO personen "; $eintrag .= " (personalnummer,name,vorname,gehalt,geburtstag) "; $eintrag .= " values('".$_GET['pn']."','".$_GET['nn']."','".$_GET['vn']."', '".$_GET['ge']."','".$_GET['gt']."')“ or die("fehler query"); mysql_query($eintrag); $num = mysql_affected_rows(); if($num>0) $Ausgabe= "Es wurde 1 Datensatz hinzugefügt"; else { echo "<h2>Es ist ein Fehler aufgetreten, "; echo "es wurde kein Datensatz hinzugefügt.</h2>"; } mysql_close($db); ?> Apache-PHP-MySQL

72 PHP-Quelltexte des Datenbankbeispiels „Firma“
db4.php (2) <HTML><HEAD><TITLE>PHP-Beispiel zu DB: Eingabe von Datensätzen (db4.php) </TITLE></HEAD> <BODY BGCOLOR="#bbbbbb"> <h2>Eingabe von Datensätzen in die MySQL-Datei "Firma"</h2><hr> <form action="" method="get"> <input name="pn" size=5>Personalnummer<p> <input name="vn" size=20>Vorname<p> <input name="nn" size=20>Nachname<p> <input name="gt" size=20>Geburtstag (jjjj-mm-tt)<p> <input name="ge" size=10>Gehalt in EURO<p> <input type="submit" name="Abschicken" value="senden"> </form> <?php echo $Ausgabe; ?> <hr> <a href="db2.php">Zur Anzeige aller Datensätze ohne Tabelle</a><p> <a href="db3.php">Zur Anzeige aller Datensätze in Tabellenform</a><p> <a href="db7.php">Zum Ändern eines Datensatzes</a><p> <a href="db12.php">Datenbank "Firma" beenden</a> </BODY> </HTML> Apache-PHP-MySQL

73 PHP-Quelltexte des Datenbankbeispiels „Firma“
db7.php (1) (Ändern eines DS) <HTML><HEAD><TITLE>PHP-Beispiel zu DB (db7): Ändern eines Datensatzes </TITLE></HEAD> <BODY BGCOLOR="#44ddff"> <h3>Ändern eines Datensatzes <br>aus der MySQL-Datei "Firma", Tabelle "Personen"</h3> <hr> <form> <table bgcolor="#FFFF00" border=2 cellspace=3 cellpadding=3> <tr><th>Personaldatei</th></tr> <tr><th>Auswahl</th><th>Personalnummer</th><th>Vorname</th><th>Nachname</th> <th>Gehalt</th><th>Geburtsdatum</th></tr> <?php $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $res=mysql_query("SELECT * FROM personen") or die("fehler query"); $num=mysql_num_rows($res); Apache-PHP-MySQL

74 PHP-Quelltexte des Datenbankbeispiels „Firma“
db7.php (2) for($i=0;$i<$num;$i++) { $nn=mysql_result($res, $i, "name"); $vn=mysql_result($res, $i, "vorname"); $pn=mysql_result($res, $i, "personalnummer"); $ge=mysql_result($res, $i, "gehalt"); $gt=mysql_result($res, $i, "geburtstag"); echo "<tr><td><input type='radio' name='auswahl' value='$pn'>"; echo "<td>$pn</td><td>$vn</td><td>$nn</td> <td>". number_format($ge,2,",",".")." EUR</td>"; echo "<td>$gt</td></tr>"; } mysql_close($db); ?> </table><p> <input type="submit" value="Datensatz anzeigen"> </form> Apache-PHP-MySQL

75 PHP-Quelltexte des Datenbankbeispiels „Firma“
db7.php (3) <?php $auswahl = $_GET['auswahl']; if ($auswahl != "") { $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $sqlab="select * from personen where"; $sqlab .= " personalnummer='".$auswahl."'"; $res=mysql_query($sqlab); $altnn=mysql_result($res, 0, "name"); $altvn=mysql_result($res, 0, "vorname"); $altge=mysql_result($res, 0, "gehalt"); $altgt=mysql_result($res, 0, "geburtstag"); echo "Führen Sie die Änderungen durch,<br>"; echo "betätigen Sie anschließend den Button<p>"; Apache-PHP-MySQL

76 PHP-Quelltexte des Datenbankbeispiels „Firma“
db7.php (4) echo "<form action='db10.php' method='get'>"; echo "<input name='neunn' value='$altnn'> Nachname<p>"; echo "<input name='neuvn' value='$altvn'> Vorname<p>"; echo "<input name='neupn' value='$auswahl'> Personalnummer<p>"; echo "<input name='neuge' value='$altge'> Gehalt<p>"; echo "<input name='neugt' value='$altgt'> Geburtstag<p>"; echo "<input type='hidden' name='oripn' value='$auswahl'>"; echo "<input type='submit' value='Änderungen in DB speichern'><p>"; echo "</form>"; mysql_close($db); } else echo "Es wurde kein Datensatz ausgewählt<p>"; ?> <hr> <a href="db2.php">Zur Anzeige aller Datensätze ohne Tabellenform</a><p> <a href="db3.php">Zur Anzeige aller Datensätze als Tabelle</a><p> <a href="db9.php">Zum Löschen eines Datensatzes</a><p> <a href="db4.php">Zur Eingabe eines Datensatzes</a><p> <a href="db12.php">Datenbank "Firma" beenden</a> <hr> </BODY> </HTML> Apache-PHP-MySQL

77 PHP-Quelltexte des Datenbankbeispiels „Firma“
db9.php (1) <HTML> <HEAD><TITLE>PHP-Beispiel zu DB: Löschen eines Datensatzes (db9.php) </TITLE></HEAD> <BODY BGCOLOR="#DDDDFF"> <h3>Löschen eines Datensatzes <br> aus der MySQL-Datei "Firma", Tabelle "Personen"</h3> <hr> <form> <table bgcolor="#FFFF00" border=2 cellspace=3 cellpadding=3> <tr><th>Personaldatei</th></tr> <tr><th>Auswahl</th><th>Personalnummer</th><th>Vorname</th> <th>Nachname</th><th>Gehalt</th><th>Geburtsdatum</th></tr> <?php $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $res=mysql_query("SELECT * FROM personen"); $num=mysql_num_rows($res); Apache-PHP-MySQL

78 PHP-Quelltexte des Datenbankbeispiels „Firma“
db9.php (2) for($i=0;$i<$num;$i++) { $nn=mysql_result($res, $i, "name"); $vn=mysql_result($res, $i, "vorname"); $pn=mysql_result($res, $i, "personalnummer"); $ge=mysql_result($res, $i, "gehalt"); $gt=mysql_result($res, $i, "geburtstag"); echo "<tr><td><input type='radio' name='auswahl' value='$pn'>"; echo "<td>$pn</td><td>$vn</td><td>$nn</td> <td>". number_format($ge,2,",",".")." EUR</td>"; echo "<td>$gt</td></tr>"; } mysql_close($db); ?> </table><p> <input type="submit" value="Datensatz anzeigen"> </form> Apache-PHP-MySQL

79 PHP-Quelltexte des Datenbankbeispiels „Firma“
db9.php (3) <?php echo "Auswahl: ".$_GET['auswahl']."<br>"; $auswahl = $_GET['auswahl']; if ($auswahl != "") { $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $sqlab="SELECT * FROM personen WHERE"; $sqlab .= " personalnummer='".$auswahl."'"; $res=mysql_query($sqlab); $altnn=mysql_result($res, 0, "name"); $altvn=mysql_result($res, 0, "vorname"); $altge=mysql_result($res, 0, "gehalt"); $altgt=mysql_result($res, 0, "geburtstag"); echo "Wenn Sie diesen Datensatz löschen wollen,<br>"; echo "betätigen Sie anschließend den Button<p>"; echo "<form action='db11.php' method='post'>"; Apache-PHP-MySQL

80 PHP-Quelltexte des Datenbankbeispiels „Firma“
db9.php (4) echo "<input name='neunn' value='$altnn'> Nachname<p>"; echo "<input name='neuvn' value='$altvn'> Vorname<p>"; echo "<input name='neupn' value='$auswahl'> Personalnummer<p>"; echo "<input name='neuge' value='$altge'> Gehalt<p>"; echo "<input name='neugt' value='$altgt'> Geburtstag<p>"; echo "<input type='hidden' name='oripn' value='$auswahl'>"; echo "<input type='submit' value='Löschen in DB speichern'><p>"; echo "</form>"; mysql_close($db); } else echo "Es wurde kein Datensatz ausgewählt<p>"; ?> <hr> <a href="db2.php">Zur Anzeige aller Datensätze ohne Tabelle</a><p> <a href="db3.php">Zur Anzeige aller Datensätze in Tabellenform</a><p> <a href="db7.php">Zum Ändern eines Datensatzes</a><p> <a href="db4.php">Zur Eingabe eines Datensatzes</a><p> <a href="db12.php">Datenbank "Firma" beenden</a> <hr> </BODY> </HTML> Apache-PHP-MySQL

81 PHP-Quelltexte des Datenbankbeispiels „Firma“
db10.php (1) (Update eines DS) <HTML> <BODY BGCOLOR="#abcdef"> <?php echo "Datei $db<br>"; echo "Neuer Vorname: '".$_GET['neuvn']."'<br>"; echo "personalnummer oripn ".$_GET['oripn']."<br>"; $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $sqlab="UPDATE personen SET name = '".$_GET['neunn']."',"; $sqlab .="vorname = '".$_GET['neuvn']."',"; $sqlab .="personalnummer = '".$_GET['neupn']."',"; $sqlab .="gehalt = '".$_GET['neuge']."',"; $sqlab .="geburtstag = '".$_GET['neugt']."'"; $sqlab .=" WHERE personalnummer='".$_GET['oripn']."'"; mysql_query($sqlab ) or die("Fehler Query"); Apache-PHP-MySQL

82 PHP-Quelltexte des Datenbankbeispiels „Firma“
db10.php (2) $num=mysql_affected_rows(); if ($num>0) echo "Der Datensatz wurde geändert<p>"; else echo "Der Datensatz wurde nicht geändert<p>"; mysql_close($db); ?> <a href="db2.php">Zur Anzeige aller Datensätze ohne Tabelle</a><p> <a href="db3.php">Zur Anzeige aller Datensätze in Tabellenform</a><p> <a href="db7.php">Zum Ändern eines Datensatzes</a><p> <a href="db4.php">Zur Eingabe eines Datensatzes</a><p> <a href="db12.php">Datenbank "Firma" beenden</a> <hr> </BODY> </HTML> Apache-PHP-MySQL

83 PHP-Quelltexte des Datenbankbeispiels „Firma“
db11.php (1) (Löschen eines DS) <HTML> <BODY BGCOLOR="#abcd78"> <?php echo "Auswahl db11: $auswahl<br>"; echo "Datei $db<br>"; echo "Vorname: '".$_POST['neuvn']." '<br>"; echo "personalnummer oripn ".$_POST['oripn']."<br>"; $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); $sqlab="DELETE FROM personen WHERE "; $sqlab .="personalnummer = '".$_POST['oripn']."'"; mysql_query($sqlab); Apache-PHP-MySQL

84 PHP-Quelltexte des Datenbankbeispiels „Firma“
db11.php (2) $num=mysql_affected_rows(); if ($num>0) echo "Der Datensatz wurde gelöscht<p>"; else echo "Der Datensatz wurde nicht gelöscht<p>"; mysql_close($db); ?> <a href="db9.php">Zum Löschen eines weiteren Datensatzes</a><p> <a href="db4.php">Zur Eingabe eines Datensatzes</a><p> <a href="db2.php">Zur Anzeige aller Datensätze ohne Tabell</a><p> <a href="db3.php">Zur Anzeige aller Datensätze in Tabellenform</a><p> <a href="db7.php">Zum Ändern eines Datensatzes</a><p> <a href="db12.php">Datenbank "Firma" beenden</a> </BODY> </HTML> Apache-PHP-MySQL

85 PHP-Quelltexte des Datenbankbeispiels „Firma“
db12.php (1) (Schließen der DB „Firma“) <HTML> <HEAD> <TITLE>PHP-Beispiel zu DB: Beenden der DB (db12.php) </TITLE> </HEAD> <BODY BGCOLOR="#eeeeff"> <h2>Jetzt ist die DB "Firma" geschlossen! <br>Tschüss!</h2> <?php $db=mysql_connect("localhost","root"); mysql_select_db("firma",$db); mysql_close($db); ?> </BODY> </HTML> Apache-PHP-MySQL

86 Quakenet/#php Tutorial: http://tut.php-quake.net
Literatur Apache: MySQL: PHP: Schwarze et al.: E-Commerce und LAMP-Architektur In: wisu Das Wirtschaftsstudium, 32. Jg. (2002), Heft 11, S Adler, Olivia; Hartmut Holzgraefe: PHP lernen. - Addison-Wesley Verlag, 2002. Quakenet/#php Tutorial: Apache-PHP-MySQL


Herunterladen ppt "Apache - PHP - MySQL Apache-PHP-MySQL."

Ähnliche Präsentationen


Google-Anzeigen