<?PHP class database{ function first(){ }
+ function second(){
+ }
+}
+$klasse = new database;
+$array = array("first","database","second");
+for($x=0;$x<count($array);$x++){
+ if(method_exists($klasse,$array[$x]))
+ echo "Das Objekt besitzt die Methode $array[$x] <br>";
+ else
+ echo "Das Objekt besitzt nicht die Methode $array[$x] <br>";
+}
+?>
Mit break wird die aktuelle for-, while- oder switch-Anweisung abgebrochen
+ und
+ somit die Schleife verlassen.
+ Da alle drei Parameter bei einer for-Schleife optional sind, kann es zu
+ dem
+ Umstand kommen, dass ohne eine Iterationsvariable aus der for-Schleife
+ eine
+ Endlosschleife wird.
Die do...while-Schleife ist der while-Schleife sehr ähnlich, aber
+ ein
+ entscheidender Punkt sticht hervor. Die Bedingung wird erst am Ende der
+ Schleife überprüft. So wird mindestens einmal die Schleife durchlaufen,
+ während
+ bei einer While-Schleife die Bedingung am Anfang schon false sein kann
+ und
+ somit nicht durchlaufen wird.
Oftmals ist es sinnvoll, dynamische Variablen-Bezeichner zu benutzen
+ und im
+ weiteren Skript zu gebrauchen. Daher kann man innerhalb von PHP einen
+ Variablennamen dynamisch anlegen. Dabei nimmt eine dynamische Variable
+ den
+ Wert einer anderen Variablen und nutzt diesen als Bezeichner.
Mit for wird ein Schleifendurchlauf abgearbeitet. Dabei gibt man einen
+ Start- und
+ einen Endwert ein. Die Schleife endet erst bei Erreichen des Endwertes.
+ Da alle drei Parameter bei einer for-Schleife optional sind, kann es zu
+ dem
+ Umstand kommen, dass ohne eine Iterationsvariable aus der for-Schleife
+ eine
+ Endlosschleife wird.
Seit der Version 4 ist es nun auch endlich möglich, auf einfache
+ Weise ein Array
+ auszulesen. Gegenüber einer for-Schleife vereinfacht sich die Syntax
+ enorm.
+ Dabei wird das Array vom Anfang bis zum Ende durchlaufen.
Mit if wird ein Kontrollmechanismus eingeleitet und abgearbeitet, wenn
+ dieser
+ wahr ist. Dabei müssen die Bedingungen innerhalb der Abfrage einen
+ logischen
+ Wert (True oder False) zurückliefern.
+ Als False wird die Zahl 0, der String "0" oder ""
+ (leer) gesehen, während alle
+ anderen Rückgabewerte True darstellen.
+ Im Folgenden sehen Sie Operatoren für die Ausdrücke, um diese
+ bei der
+ Überprüfung von Bedingungen nutzen zu können.
+
+ Logische Operatoren:
+
+
and $x und $y müssen gleich sein
+
or $x oder $y muss TRUE sein
+
xor $x und $y dürfen nicht gleich sein (Ungleich)
+
&& $x und $y müssen gleich sein
+
|| $x oder $y muss TRUE sein
+
! $x und $y dürfen nicht gleich sein (Ungleich)
+
+
Vergleichoperatoren
+
+
" ==...$x und $y müssen gleich sein
+
" !=... $x und $y dürfen nicht gleich sein (Ungleich)
Achten Sie darauf, dass bei der 3. Möglichkeit der zu schließende
+ if-Zweig
+ innerhalb von einem PHP-Syntax steht.
+ Zwischen dem if-Zweig kann beliebiger HTML-Code stehen und man muss nicht
+ auf PHP-typische Sonderzeichen achten, welche innerhalb von PHP gesondert
+ geschützt werden müssen.
Mit if....else wird ein Kontrollmechanismus eingeleitet und auf den
+ Einstiegspunkt hin überprüft. Ist der if-Zweig "False",
+ wird direkt in den else-
+ Zweig geleitet und dieser abgearbeitet. Ist hingegen der if-Zweig "True",
+ wird
+ der else-Zweig übergangen und nur der if-Zweig abgearbeitet. Sie
+ sollten aber
+ bedenken, dass auf jeden Fall einer der Blöcke abgearbeitet wird.
Mit if....else....elseif wird ein Kontrollmechanismus eingeleitet und
+ auf den
+ Einstiegspunkt hin überprüft. Ist der if-Zweig "False",
+ wird direkt in den elseif-
+ Zweig geleitet und dieser wiederum auf Richtigkeit hin überpüft.
+ Innerhalb des
+ elseif-Zweiges wird elseif als if und else als else gesehen. Sie sollten
+ aber
+ bedenken, dass auf jeden Fall einer der Blöcke abgearbeitet wird.
Der include-Befehl hat zur Folge, dass vom PHP-Parsing-Modus in den HTML-
+ Modus geschaltet und die angegebene Datei eingelesen und ausgewertet wird.
+ Ist
+ innerhalb der zu inkludierenden Datei PHP-Code, so muss dieser in gültigen
+ PHP-Start- (<?PHP) und End-Tags (?>) eingebunden werden.
Der include_once Befehl hat zur Folge, dass die angegebene Datei eingelesen
+ und
+ ausgewertet wird.
+ Wie bei der Anweisung require_once wird der Code nur einmal eingebunden.
+ Damit soll verhindert werden, dass zwei identische Funktionen inkludiert
+ werden
+ und somit ein Fehler produziert wird.
Der require-Befehl hat zur Folge, dass vom PHP-Parsing-Modus in den HTML-
+ Modus geschaltet wird und die angegebene Datei eingelesen und ausgewertet
+ wird. Ist innerhalb der zu inkludierenden Datei PHP-Code, so muss dieser
+ in
+ gültigen PHP-Start- (<?PHP) und End-Tags (?>) eingebunden werden.
+ Sie können den require-Befehl nicht innerhalb von Schleifen nutzen,
+ da die Datei
+ nur einmal eingelesen wird, sogar falls der require-Befehl in einem Zweig
+ steht,
+ der nicht ausgeführt wird - nutzen Sie in diesem Fall include().
Der require_once Befehl hat zur Folge, dass an seiner Stelle der Inhalt
+ einer
+ anderen Datei ausgegeben wird und somit ersetzt sich der Befehl durch
+ die Datei.
+ Der Hauptunterschied liegt darin, dass bei dem Befehl require_once der
+ einzubindende Code einer Datei nur einmal eingebunden wird.
+ Sehen Sie sich beide Beispiele genau an.
+ Beim zweiten Beispiel würde man versuchen, zwei identische functions
+ in eine
+ Datei zu inkludieren - ein fataler Fehler!
Inhalt der Datei index.php: require_once("1.php"); mache_etwas(); require_once("2.php");
+
Inhalt der Datei 1.php
+function mache_etwas(){
+ echo "Hier ist die Datei 1.php<br>";
+}
+Inhalt der Datei 2.php
+require_once("1.php");
+echo "Hier ist die Datei 2.php";
Inhalt der Datei index.php: require("1.php"); mache_etwas(); require("2.php");
+
Inhalt der Datei 1.php
+function mache_etwas(){
+ echo "Hier ist die Datei 1.php<br>";
+}
+Inhalt der Datei 2.php
+require("1.php");
+echo "Hier ist die Datei 2.php";
Switch ist vergleichbar mit einer if-Abfrage. Der Vorteil ist aber, dass
+ Sie mit der
+ switch-Anweisung verschiedene Argumente mit einer Variablen überprüfen
+ können und somit in bestimmte Teile verzweigen können. Innerhalb
+ der
+ Verzweigung haben Sie die Möglichkeit, den Durchlauf mit break abzubrechen
+ und somit die Schleife zu verlassen.
Sie haben mit den unten stehenden Servervariablen die Möglichkeit,
+ viele
+ Informationen über das Serversystem oder den Besucher ihrer Website
+ zu
+ bekommen. Alle Variablen hier ausführlich zu erklären, würde
+ den Rahmen des
+ Buches sprengen.
+ Sie haben aber die Möglichkeit, die einzelnen Variablen in ihren
+ Skripts
+ auszuprobieren.
Mit while() wird ein Schleifendurchlauf abgearbeitet und so lange ausgeführt,
+ bis
+ das Schleifenende erreicht wurde. Dabei wird bei jedem Schleifendurchlauf
+ die
+ Bedingung (expr) auf true geprüft. Ist true erreicht, wird die while-Schleife
+ beendet. Ist die Bedingung schon vor dem ersten Durchlauf false, wird
+ die
+ Schleife nicht einmal abgearbeitet.
+ Die while-Schleife ist sehr sinnvoll, wenn man vorher nicht genau weiß,
+ wie oft
+ ein Durchlauf benötigt wird.
+ In Zusammenhang mit Datenbankabfragen ist die while-Schleife sehr sinnvoll
+ und empfehlenswert. So könnte man sich z.B. alle Mitglieder eines
+ Vereins
+ ausgeben lassen, welche vor 1970 geboren wurden. Da Sie aber im Vorfeld
+ (bei
+ der Programmierung) nicht wissen können, wie viele Mitglieder es
+ sind, bietet
+ sich dort die Kombination mit einer While-Schleife an.
+ Achten Sie darauf, dass eine while-Schleife immer einen Endwert besitzen
+ muss
+ da es sonst zu Programmabstürzen kommen kann. Wird die While-Schleife
+ fehlerhaht eingesetzt, ist das Resultat katastrophal - aus der while-Schleife
+ wird
+ eine Endlosschleife.
Mit mail() kann man eine E-Mail im Text- oder HTML-Format an eine oder
+ mehrere Personen versenden. Sie können in dieser Mail einen Empfänger
+ (to),
+ einen Absender, ein CC , ein BCC und sogar ein Attachment festlegen, die
+ alle
+ beim Versand berücksichtigt werden.
+ Der Betreff (subject) und die Nachricht (message) werden dann mit den
+ obigen
+ Daten versendet. Im Mailheader (additional_headers) können Sie verschiedene
+ Angaben (From, Cc, Bcc etc - siehe Beispiel) machen, welche jeweils durch
+ einen Zeilenvorschub (\n) getrennt sein müssen.
+ Wollen Sie eine E-Mail an mehrere Personen senden, so schreiben Sie sie
+ im to-
+ Bereich und trennen die einzelnen Adressen durch ein Komma(,).
+ Im optionalen Parameter additional_parameters können Sie
+ Befehlszeilenargumente an das Mail-Programm übergeben.
+
Zu Beispiel 1:
+ Bei diesem Beispiel wurde per Formular eine HTML-Mail generiert und an
+ den
+ Empfänger gesendet. Zusätzlich wurde eine zusätzliche E-Mail-Adresse
+ im BCC
+ angegeben und weitergeleitet. Bedenken Sie bitte, dass Sie bei Einbindung
+ von
+ Grafiken die absolute Adresse (im Internet) angeben müssen, da sonst
+ das Bild
+ nicht angezeigt wird.
+ Sie sollten aber lieber auf Grafiken verzichten, da der User beim Lesen
+ der
+ Nachricht (wenn er offline ist) nicht sehr glücklich sein wird, dass
+ er online gehen
+ muss, um sich die Grafik anzuschauen.
+
Zu Beispiel 2:
+ Bei diesem Beispiel wurde per Formular (wie bei Beispiel 1) eine Text-Mail
+ generiert und an den Empfänger gesendet. Zusätzlich wurde eine
+ E-Mail-Adresse
+ im CC angegeben und weitergeleitet.
Mit abs() kann man sich von einer bestimmten Zahl (number) den Absolutwert
+ zurückgeben lassen. Ist die Zahl vom Typ "float", wird
+ auch die Zahl als "float",
+ sonst als "int" zurückgegeben.
+ Ist die Zahl bereits ein Absolutwert, so bleibt sie von dem Befehl abs()
+ unberührt.
Mit acos() kann man sich den Arcuscosinus-Wert zu arg im Bogenmaß
+ zurückgeben lassen. Der Wert arg darf zwischen -1.0 und 1.0 liegen.
+ Werte
+ darüber werden als "NAN" zurückgegeben.
Mit asin() kann man sich den Arcussinus-Wert zu arg im Bogenmaß
+ zurückgeben
+ lassen. Der Wert arg darf zwischen -1.0 und 1.0 liegen. Werte darüber
+ werden als
+ "NAN" zurückgegeben.
+
Mit atan2() kann man sich den Arcustangens-Wert der Parameter x und y
+ zurückgeben lassen. Dabei wird das Vorzeichen beider Parameter ausgewertet
+ und so der Quadrant des Ergebnisses bestimmt.
+
Mit base_convert() kann man eine Zahl (number) von einer beliebigen Basis
+ (frombase) zu einer anderen Basis (tobase) konvertieren lassen. Es ist
+ darauf zu
+ achten, dass die Basen den Wert 36 nicht überschreiten. Für
+ Zahlen in Basen
+ größer als 10 werden neben den Ziffern 0-9 auch die Buchstaben
+ a-z genutzt,
+ wobei a einen Wert von 10 und z einen Wert von 36 hat.
Mit bcadd() wird der erste Operand (LOperand) zu dem zweiten Operanden
+ (ROperand) addiert. Der optionale Parameter Genauigkeit bestimmt die
+ Nachkommastellen.
Mit bccomp() wird der erste Operand (LOperand) mit dem zweiten Operanden
+ (ROperand) verglichen. Sind beide Operanden gleich, wird 0 zurückgegeben.
+ Ist
+ der linke Operand größer als der rechte Operand, wird +1 zurückgegeben,
+ sonst
+ -1 (rechter Operand ist größer).
+ Der Parameter Genauigkeit bestimmt die Nachkommastellen, welche beim
+ Vergleich berücksichtigt werden.
+
Achtung: Diese Funktion ist nur ausführbar , wenn PHP bei
+ der Installation mit
+ --enable-bcmath konfiguriert wurde.
Mit bcdiv() wird der erste Operand (LOperand) durch den zweiten Operanden
+ (ROperand) dividiert. Der Parameter Genauigkeit bestimmt die
+ Nachkommastellen im Ergebnis.
Mit bcmul() wird der erste Operand (LOperand) mit dem zweiten Operanden
+ (ROperand) multipliziert. Der Parameter Genauigkeit bestimmt die
+ Nachkommastellen im Ergebnis.
Mit bcpow() wird der erste Operand (x) mit dem zweiten Operanden (y)
+ potenziert. Der Parameter Genauigkeit bestimmt die Nachkommastellen im
+ Ergebnis.
+ Es ist darauf zu achten, dass der zweite Operand keine Nachkommastellen
+ besitzt.
+ Je nach Version erhalten Sie entweder eine Fehlermeldung oder die
+ Nachkommastelle wird bei der Berechnung einfach nicht berücksichtigt.
Mit bcscale() wird die Genauigkeit aller folgenden BC-Funktionen innerhalb
+ des
+ laufenden Skripts bestimmt. Falls Sie einer BC-Funktion (z.B. bcadd) keinen
+ expliziten Wert für den Parameter Genauigkeit übergeben, gilt
+ die mit bcscale()
+ voreingestellte Anzahl der Nachkommastellen.
+
Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei
+ der Installation mit
+ --enable-bcmath konfiguriert wurde.
Mit bcsqrt() wird die Quadratwurzel von Operand ermittelt. Der Parameter
+ Genauigkeit gibt die Nachkommastellen des Ergebnisses an.
+ Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation
+ mit
+ --enable-bcmath konfiguriert wurde.
Mit bcsub() wird der zweite Operand (ROperand) vom ersten Operanden
+ (LOperand) subtrahiert. Der Parameter Genauigkeit bestimmt die
+ Nachkommastellen im Ergebnis.
+
Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei
+ der Installation mit
+ --enable-bcmath konfiguriert wurde.
Mit bindec() wird eine binäre Zahl (binary_string) in eine dezimale
+ Zahl
+ konvertiert.
+ Eine Binärzahl besteht ausschließlich aus den Ziffern 1 und
+ 0.
Mit ceil() wird diejenige ganze Zahl zurückgegeben, welche größer
+ oder gleich
+ der vorgegebenen Zahl (number) ist. Es wird ausschließlich aufgerundet,
+ auch
+ wenn die Nachkommastelle kleiner als 5 ist.
Mit floor() wird diejenige ganze Zahl ausgegeben, welche kleiner oder
+ gleich der
+ vorgegebenen Zahl number ist. Es wird ausschließlich abgerundet,
+ auch wenn die
+ Nachkommastelle größer als 5 ist.
Mit getrandmax() kann man sich den größten Wert zurückgeben
+ lassen, den die
+ Funktion rand() auf der vorhandenen Plattform als Zufallszahl zurückgeben
+ könnte.
Mit max() kann man sich den größten Wert der übergebenen
+ Argumente (arg1 bis
+ argn) zurückgeben lassen. Dabei ist darauf zu achten, dass mindestens
+ zwei Werte
+ vorhanden sein müssen, um eine Überprüfung vornehmen zu
+ können. Sollten Sie
+ dennoch nur einen Wert übergeben wollen, so muss dieser ein Array
+ sein.
Mit min() kann man sich den kleinsten Wert der übergebenen Argumente
+ (arg1
+ bis argn) zurückgeben lassen. Dabei ist darauf zu achten, dass mindestens
+ zwei
+ Werte vorhanden sein müssen, um eine Überprüfung vornehmen
+ zu können.
+ Sollten Sie dennoch nur einen Wert übergeben wollen, so muss dieser
+ ein Array
+ sein.
Mit mt_getrandmax() kann man sich den größten Wert zurückgeben
+ lassen, den
+ die Funktion mt_rand() auf der vorhandenen Plattform zurückgeben
+ könnte.
Mit mt_rand() man sich eine Zufallszahl zwischen min und max zurückgeben
+ lassen.
+ Gegenüber rand() erzeugt mt_rand() wesentlich bessere Zufallszahlen.
+ Ohne die
+ Parameter min und max werden Zufallszahlen zwischen 0 und dem
+ plattformabhängigen Maximalwert geliefert. Dieser Maximalwert kann
+ mit
+ mt_getrandmax() ermittelt werden. Sie sollten unbedingt immer den Befehl
+ mt_srand() vor mt_rand() benutzen, um nicht immer dieselben Werte zu bekommen.
+
Mit mt_srand() legt man einen internen Startwert für den "Mersenne-Twister"-
+ Zufallszahlengenerator von mt_rand() fest. Um nicht immer die gleichen
+ Werte
+ zu bekommen, sollte man als Wert die aktuelle Zeit nehmen. Diese Funktion
+ gibt
+ keinen Ergebniswert zurück!
+
Mit number_format() kann man eine Zahl (number) formatieren. Die Parameter
+ haben folgende Bedeutung:
+ number ist der zu formatierende Wert
+ decimals Anzahl der Nachkommastellen
+ string1 legt das Zeichen vor den Nachkommastellen fest
+ string2 legt das Tausendertrennzeichen fest
Die Funktion akzeptiert ein, zwei oder vier Parameter (nicht drei).
Mit rand() kann man sich eine Zufallszahl zwischen min und max zurückgeben
+ lassen. Es ist darauf zu achten, dass min kleiner ist als max und max
+ nicht größer
+ ist als der maximale Wert, welcher auf der vorhandenen Plattform möglich
+ ist.
+ Bei PHP mit der Versionsnummer kleiner als 3.0.7 hat max eine andere
+ Bedeutung: Die höchstmögliche Zahl ist min + max.
+ Die Parameter min und max sind optional. Wenn Sie keine Argumente übergeben,
+ werden Zufallszahlen zwischen 0 und dem plattformabhängigen Maximalwert
+ geliefert. Dieser Maximalwert kann mit getrandmax() ermittelt werden.
+ Sie sollten unbedingt immer den Befehl srand() vor rand() benutzen, um
+ nicht
+ immer dieselben Werte zu bekommen.
Mit round() wird eine Zahl (val) auf- oder abgerundet. Der Parameter
+ precision
+ ist optional und nur in PHP4 verfügbar. Mit precision kann man die
+ Nachkommastellen angeben, nach denen gerundet wird.
Mit srand() wird der interne Startwert für den Zufallsgenerator
+ rand() festgelegt.
+ Um nicht immer gleichen Zufallszahlen zu bekommen, sollte immer die aktuelle
+ Zeit als Basis genommen werden.
Mit mysql_affected_rows() kann man sich die Menge der Datensätze
+ zurückgeben lassen, welche von einer vorangegangene MySQL-Operation
+ betroffen waren. Sollten Sie die optionale Verbindungskennung (Verbindungs-
+ Kennung) nicht angeben, so wird die momentane Verbindung verwendet.
+
Folgende Anweisungen werden berücksichtigt:
+ DELETE
+ INSERT
+ UPDATE
+ Beachten Sie bitte, dass diese Funktion bei einer DELETE-Anweisung ohne
+ WHERE-Bedingung den Wert Null (0) zurückgeben wird, obwohl alle
+ Datensätze gelöscht wurden.
+
Wenn Sie die Anzahl der Datensätze ermitteln möchten, die von
+ SELECT-
+ Anweisungen zurückgegeben wurden, sollten Sie die Funktion
+ mysql_num_rows() nutzen.
<?PHP /* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */
+ $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
+ $db_select = @MYSQL_SELECT_DB($db_name);
+ $result = mysql_query("DELETE FROM selfphp_funktionen WHERE gruppe = 'Datenbanken'");
+ echo mysql_affected_rows() . " Datensätze gelöscht!";
+?>
Mit mysql_change_user() kann man den zur Zeit angemeldeten User ändern.
+ Dabei benötigt diese Funktion den neuen User (Benutzername) und das
+ Passwort
+ (Kennwort), um ihn anzumelden. Mit dem optionalen Parameter Datenbank
+ können Sie einen Datenbanknamen angeben.
+ Sollte die optionale Verbindungskennung (Verbindungs-Kennung) fehlen,
+ so wird
+ auf die momentane Verbindungskennung zurückgegriffen.
+ Beachten Sie bitte, dass diese Funktion eine MySQL-Datenbank mit der
+ Versionsnummer 3.23.3 oder höher benötigt.
<?PHP /* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */
+$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
if($db) echo "Verbindung zur Datenbank wurde hergestellt"; echo "<br>"; if(mysql_change_user("matthias","self","selfphp",$db)) echo "User wurde gewechselt!"; else echo "Konnte User nicht wechseln!";
+?>
Mit mysql_close() schließt man anhand der Verbindungskennung (Verbindungs-
+ Kennung) eine Verbindung zu einer MySQL-Datenbank. Im Erfolgsfall gibt
+ diese
+ Funktion true, sonst false zurück.
+ Eigentlich müssen Sie nicht-persistente Verbindungen zu einer Datenbank
+ nicht
+ explizit schließen, sollten dies aber tun, um einen guten Programmierstil
+ beizubehalten.
+ Beachten Sie bitte, dass mysql_close() keine persistenten Verbindungen,
+ welche
+ mit mysql_pconnect() hergestellt wurden, schließen kann.
<?PHP /* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */
+$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
if($db) echo "Verbindung zur Datenbank wurde hergestellt"; echo "<br>"; /* Schliessen der Datenbank-Verbindung */ $db_close = @MYSQL_CLOSE($db);
if($db_close) echo "Verbindung zur Datenbank geschlossen"; else echo "Konnte Verbindung zur Datenbank nicht schliessen";
+?>
Mit mysql_connect() öffnet man eine Verbindung zu einer MySQL-Datenbank.
+ Im Erfolgsfall gibt diese Funktion eine Verbindungskennung, sonst false
+ zurück.
+ Falls keine Verbindung erstellt werden kann, so können Sie eine eigene
+ Fehlermeldung zum Browser senden und danach das Skript abbrechen lassen
+ (siehe im Beispiel "or die").
+ Alle Parameter dieser Funktion sind optional; wenn Sie keinen Wert übergeben,
+ gelten folgende Vorgabewerte:
+ hostname - localhost
+ Benutzername - Name des Benutzers, dem der Server-Prozess gehört.
+ Kennwort - ein leeres Kennwort
+
Falls Sie Zugriff auf eine MySQL-Datenbank im Internet haben, so werden
+ Sie
+ die Zugangsdaten, die Sie von Ihrem Provider bekommen haben, in die dafür
+ vorgesehenen Parameter eintragen müssen (siehe Beispiel).
+ Als zusätzliche Parameter können Sie den :port (ab PHP 3.0B4)
+ und den
+ :/path/to/socket (ab PHP 3.0.10) mit angeben.
+ Fehlermeldungen, die eventuell auftreten und ausgegeben werden, können
+ Sie
+ mit einem "@" unterdrücken. Die Verbindung zur Datenbank
+ wird mit dem
+ Skriptende oder der Funktion mysql_close() wieder geschlossen.
+ Falls Sie mysql_connect() ein zweites Mal mit den gleichen Argumenten
+ aufrufen, so wird keine neue Verbindung aufgebaut, sondern die vorhandene
+ Verbindungskennung genutzt.
<?PHP
+/* Allgemeine Daten fuer die Datenbankanbindung und direkter Connect zur Datenbank. Nach Einbindung dieses Segments kann direkt mit MySQL-Befehlen auf die Datenbank zugegriffen werden. */
+
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */
+$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
+$db_check = @MYSQL_SELECT_DB($db_name); if($db) echo "Verbindung zur Datenbank wurde hergestellt";
+?>
Mit mysql_create_db() kann man eine neue Datenbank (Datenbankname)
+ erzeugen. Bei der Erstellung der neuen Datenbank können Sie eine
+ optionale
+ Verbindungskennung (Verbindungs-Kennung) angeben. Im Erfolgsfall gibt
+ diese
+ Funktion true, sonst false zurück.
<?PHP
+/* Allgemeine Daten fuer die Datenbankanbindung und direkter Connect zur Datenbank. Nach Einbindung dieses Segments kann direkt mit MySQL-Befehlen auf die Datenbank zugegriffen werden. */
+
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */
+$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
+if (mysql_create_db ($db_name)) echo "Datenbank $db_name wurde erstellt!";
+?>
Mit mysql_data_seek() bewegt man den internen Datensatz-Zeiger auf einen
+ Datensatz (Datensatznummer) unter Angabe der Ergebnis-Kennung (Ergebnis-
+ Kennung). Bei dem nächsten Aufruf der Funktion mysql_fetch_row()
+ wird dann
+ der entsprechende Datensatz geholt.
+ Beachten Sie bitte, dass der erste Datensatz den Index 0 hat (wie das
+ erste
+ Element eines Arrays).
+ Im Erfolgsfall gibt diese Funktion true, sonst false zurück.
+<?PHP
+/* Allgemeine Daten fuer die Datenbankanbindung und direkter Connect zur Datenbank. Nach Einbindung dieses Segments kann direkt mit MySQL-Befehlen auf die Datenbank zugegriffen werden. */
+
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
Mit mysql_db_query() stellt man eine Anfrage (Anfrage) an eine Datenbank.
+ Diese Funktion ist fast identisch mit der Funktion mysql_query(), mit
+ der
+ Ausnahme, dass Sie bei mysql_db_query() die Datenbank direkt angeben
+ (Datenbank) und somit vorher nicht mit mysql_select_db() eine Datenbank
+ angeben müssen.
+ Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können
+ Sie
+ eine explizite Verbindungskennung angeben. Falls diese fehlt, so wird
+ auf die
+ aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen,
+ so wird
+ versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect)
+ zu erstellen.
+ Im Erfolgsfall gibt diese Funktion true, sonst false zurück.
+<?PHP
+/* Allgemeine Daten fuer die Datenbankanbindung und direkter Connect zur Datenbank. Nach Einbindung dieses Segments kann direkt mit MySQL-Befehlen auf die Datenbank zugegriffen werden. */
+
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "thunderbird";
+
+/* Erstellt Connect zu Datenbank her */ $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort); $result = mysql_db_query("selfphp","SELECT * FROM selfphp_funktionen WHERE gruppe = 'Array-Funktionen' ORDER BY id");
+ while($row = mysql_fetch_row($result)){ echo $row[0] . "<br>"; echo $row[1] . "<br>"; echo $row[2] . "<br>"; echo $row[3]; }
+?>
Mit mysql_drop_db() kann man versuchen, eine komplette Datenbank
+ (Datenbankname) vom Server zu löschen.
+ Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können
+ Sie
+ eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf
+ die
+ aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen,
+ so wird
+ versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect)
+ zu erstellen.
+ Im Erfolgsfall gibt diese Funktion true, sonst false zurück.
+<?PHP
+/* Allgemeine Daten fuer die Datenbankanbindung und direkter Connect zur Datenbank. Nach Einbindung dieses Segments kann direkt mit MySQL-Befehlen auf die Datenbank zugegriffen werden. */
+
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "thunderbird";
+
+/* Erstellt Connect zu Datenbank her */ $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort); if(mysql_drop_db("selfphp",$db)) echo "Datenbank gelöscht!"; else echo "Konnte Datenbank nicht löschen!"; ?>
Mit mysql_errno() kann man sich die Fehlernummer einer zuvor ausgeführten
+ Operation zurückgeben lassen. Da MySQL-Fehler nicht zu einer Ausgabe
+ von
+ Fehlermeldungen führen und das Skript normal weiter durchlaufen wird,
+ sollten
+ Sie sich diese Fehlernummer zurückgeben lassen, um den Fehler zu
+ beseitigen.
+ Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können
+ Sie
+ eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf
+ die
+ aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen,
+ wird
+ versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect)
+ zu erstellen.
+
Im unteren Beispiel wurde versucht, auf eine Tabelle (self) zuzugreifen,
+ welche in
+ der Datenbank "selfphp" nicht existent ist.
Mit mysql_error() kann man sich den Fehlertext einer zuvor ausgeführten
+ Operation zurückgeben lassen. Da MySQL-Fehler nicht zu einer Ausgabe
+ von
+ Fehlermeldungen führen und das Skript normal weiter durchlaufen wird,
+ sollten
+ Sie sich diesen Fehlertext zurückgeben lassen, um den Fehler zu beseitigen.
+ Mit dem optionalen Verbindungsparameter (Verbindungs-Kennung) können
+ Sie
+ eine explizite Verbindungskennung angeben. Falls diese fehlt, wird auf
+ die
+ aktuelle Verbindung zurückgegriffen. Sollte dies auch fehlschlagen,
+ wird
+ versucht, eine Verbindung ohne Angaben von Argumenten (siehe mysql_connect)
+ zu erstellen.
+
Im unteren Beispiel wurde versucht, auf das Feld "grupp" zuzugreifen,
+ das in der
+ Tabelle "selfphp_funktionen" nicht existent ist. Der Fehlertext
+ wurde danach an
+ eine Funktion zur weiteren Bearbeitung übergeben.
+<?PHP
+function error($line,$file,$string,$error=""){ $fehler = "<b>Fehler in Zeile ".$line." in ".$file."</b> "; $fehler .= "<br>" . $string . "<br>"; if($error) $fehler .= "<b>MySQL-Error:</b> ". $error; die($fehler); }
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */ $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
+ $db_select = @MYSQL_SELECT_DB($db_name); $result = mysql_query("DELETE FROM selfphp_funktionen WHERE grupp = 'Datenbanken'")
+ or error(__LINE__,__FILE__,"Konnte Einträge nicht löschen",mysql_error()); ?>
Mit mysql_fetch_array() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) Datensätze in einem assoziativen Array übergeben
+ lassen.
+ Dabei werden die Feldnamen innerhalb der Tabelle als Schlüssel des
+ Arrays
+ genutzt. Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz,
+ sonst wird
+ false zurückgegeben.
+ Der zweite Parameter (Ergebnistyp) ist optional. Sie können in diesem
+ Parameter
+ folgende Konstanten übergeben:
+ MYSQL_ASSOC: Funktionsergebnis ist ein assioziatives Array.
+ MYSQL_NUM: Funktionsergebnis ist ein numerisch indiziertes Array.
+ MYSQL_BOTH: Funktionsergebnis ist ein Array, das die Elemente des
+ Ergebnisdatensatzes sowohl assoziativ als auch numerisch indiziert enthält.
+ Dies
+ ist der Default-Wert.
Mit mysql_fetch_field() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) ein Objekt mit Feldinformationen aus einem
+ Anfrageergebnis zurückgeben lassen. Gibt man den optionalen Parameter
+ Feld-
+ Offset nicht an, so werden die Informationen des nächsten Feldes
+ geliefert, das
+ noch nicht mit mysql_fetch_field() ausgegeben wurde.
+
Die Eigenschaften des Objekts sind folgende:
+ name - Feldname innerhalb der Tabelle
+ table - Name der Tabelle, zu der das Feld gehört
+ max_length - max. Länge des Feldes
+ not_null - 1, das Feld kann nicht Null sein
+ primary_key - 1, das Feld ist ein Primärschlüssel
+ unique_key - 1, das Feld ist ein eindeutiger Schlüssel
+ multiple_key - 1, das Feld ist ein nicht eindeutiger Schlüssel
+ numeric - 1, das Feld ist vom Typ "numeric"
+ blob - 1, das Feld ist vom Typ "BLOB"
+ type - der Feld-Typ
+ unsigned - 1, das Feld ist vorzeichenlos
+ zerofill - 1, das Feld ist "zero-filled"
Mit mysql_fetch_lengths() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) die Länge eines jeden Feldes in einem Datensatz
+ zurückgeben lassen.
+
Als Rückgabewert dieser Funktion erhalten Sie ein Array mit den
+ Längen der
+ Felder, im Fehlerfall wird false zurückgegeben.
Mit mysql_fetch_object() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) Datensätze als ein Objekt mit Eigenschaften, die
+ den Feldern
+ innerhalb der Tabelle entsprechen, übergeben lassen. Dabei können
+ Sie anhand
+ der Feldnamen auf die Werte zugreifen. Im Erfolgsfall liefert diese Funktion
+ den
+ aktuellen Datensatz, sonst wird false zurückgegeben.
+ Der zweite Parameter (Ergebnistyp) ist optional. Sie können in diesem
+ Parameter
+ dieselben Konstanten wie in der Funktion mysql_fetch_array() übergeben:
+ MYSQL_ASSOC, MYSQL_NUM oder MYSQL_BOTH.
Mit mysql_fetch_row() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) einen Datensatz in Form eines indizierten Arrays übergeben
+ lassen.
+ Im Erfolgsfall liefert diese Funktion den aktuellen Datensatz, sonst wird
+ false
+ zurückgegeben.
Mit mysql_field_flags() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) die Flags eines Feldes (Feldoffset) in einem Anfrageergebnis
+ zurückgeben lassen.
+ Unter einem Flag versteht man die erweiterten Eigenschaften eines Feldes.
+ Die übergebenen Flags werden als einzelne Worte getrennt durch ein
+ Leerzeichen
+ zurückgegeben. Folgende Flags werden unterstützt (ist von MySQL
+ abhängig):
+ not_null
+ primary key
+ unique_key
+ multiple_key
+ blob
+ unsigned
+ zerofill
+ binary
+ enum
+ auto_increment
+ timestamp
Mit mysql_field_len() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-
+ Kennung) und des Feldindex (Feldoffset) die Länge eines Feldes zurückgeben
+ lassen.
Mit mysql_field_name() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) und des Feldindex (Feldoffset) den Namen eines Feldes
+ zurückgeben lassen.
Mit mysql_field_seek() kann man anhand einer Ergebnis-Kennung (Ergebnis-
+ Kennung) den Feldzeiger auf den angegebenen Feldindex (Feldoffset) setzen.
+ Wird bei dem nächsten Aufruf der Funktion mysql_fetch_field() kein
+ Feldindex
+ übergeben, so wird der zuvor mit mysql_field_seek() bestimmte Feldindex
+ genutzt.
+ Im unteren Beispiel wurde mittels "SELECT" eine Anfrage auf
+ die Felder
+ "gruppe" und "befehl" gestellt. Diese beiden Felder
+ haben intern den Feldindex
+ "gruppe=0 , befehl=1". Durch mysql_field_seek() wurde direkt
+ auf das Feld 1
+ (befehl) verwiesen.
Mit mysql_field_table() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) und des Feldindex (Feldoffset) den aktuellen
+ Tabellennamen, der dem zurückgegebenen Feld zugehörig ist, zurückgeben
+ lassen.
+ Im unteren Beispiel wurde mittels "SELECT" eine Anfrage auf
+ die Felder
+ "gruppe" und "befehl" gestellt. Diese beiden Felder
+ haben intern den Feldindex
+ "gruppe=0 , befehl=1". Durch mysql_field_table() wurde nun der
+ Tabellennamen
+ von Feld 1 (befehl) angefordert.
Mit mysql_field_type() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) und des Feldindex (Feldoffset) den Typ eines Feldes
+ zurückgeben lassen.
+
Dieser kann unter anderem folgende Werte besitzen:
+ blob
+ date
+ datetime
+ int
+ real
+ string
+ time
+ timestamp
+ year
Mit mysql_free_result() kann man anhand einer Ergebnis-Kennung (Ergebnis-
+ Kennung) den belegten Speicher wieder freigeben.
+ Diese Funktion ist auf Servern mit sehr wenig Arbeitsspeicher sinnvoll,
+ um die
+ Resourcen wieder freizugeben. Nach Beendigung des Skripts wird der Speicher
+ automatisch wieder freigegeben.
+ Beachten Sie, dass nach dieser Funktion nicht mehr auf das Ergebnis Ihrer
+ Anfrage zurückgegriffen werden kann, da dieses entfernt wurde.
Mit mysql_insert_id() kann man sich anhand einer Verbindungskennung
+ (Verbindungs-Kennung) die Kennung des Datensatzes zurückgeben lassen,
+ der
+ bei einer vorangegangenen INSERT-Operation angelegt wurde. Die
+ zurückgegebene Kennung ist ein Wert, welcher von der INSERT-Anweisung
+ für
+ ein automatisch inkrementiertes Feld (AUTO_INCREMENT) vergeben wurde
+ (siehe Beispiel).
+ Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt,
+ so
+ wird auf die aktuelle Verbindung zurückgegriffen.
Mit mysql_list_dbs() kann man sich anhand einer Verbindungskennung
+ (Verbindungs-Kennung) eine Liste aller verfügbaren Datenbanken auf
+ dem
+ Datenbankserver zurückgeben lassen. Um das Ergebnis zu durchlaufen,
+ sollten
+ Sie die Funktion mysql_tablename() nutzen.
+ Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt,
+ so
+ wird auf die aktuelle Verbindung zurückgegriffen.
Mit mysql_list_fields() kann man sich anhand einer Verbindungskennung
+ (Verbindungs-Kennung), des Datenbanknamens (Datenbankname) und des
+ Tabellennames (Tabellenname) alle Felder einer Tabelle auflisten lassen.
+ Als
+ Rückgabewert dieser Funktion erhalten Sie einen ganzzahlig positiven
+ Wert als
+ Ergebnis-Kennung, welche Sie für andere Funktionen wie z.B.
+ mysql_field_name() nutzen können.
+ Falls der Wert für die Verbindungskennung (Verbindungs-Kennung) fehlt,
+ so
+ wird auf die aktuelle Verbindung zurückgegriffen.
+ Auf mögliche Fehlermeldungen können Sie nur direkt zugreifen,
+ wenn Sie der
+ Funktion ein "@" voranstellen, sonst wird die Fehlermeldung
+ in die Variable
+ "$phperrmsg" geschrieben.
+
Mit folgenden Funktionen können Sie auf die Ergebnis-Kennung zurückgreifen:
Mit mysql_list_tables() kann man sich anhand eines Datenbanknamens
+ (Datenbankname) und einer optionalen Verbindungskennung (Verbindungs-
+ Kennung) alle Tabellen einer Datenbank zurückgeben lassen. Als Rückgabewert
+ dieser Funktion erhalten Sie einen ganzzahlig positiven Wert als Ergebnis-
+ Kennung; dieses Ergebnis können Sie mit der Funktion mysql_tablename()
+ durchlaufen, um die Namen der Tabellen abzurufen.
+ Sollte die Verbindungskennung fehlen, so wird auf die aktuelle Verbindung
+ zurückgegriffen.
Mit mysql_num_rows() kann man sich anhand einer Ergebnis-Kennung
+ (Ergebnis-Kennung) die Anzahl der Datensätze eines Ergebnisses zurückgeben
+ lassen.
Mit mysql_pconnect() öffnet man eine persistente Verbindung zu einer
+ MySQL-
+ Datenbank. Im Erfolgsfall gibt diese Funktion eine Verbindungskennung,
+ sonst
+ false zurück.
+ Falls keine Verbindung erstellt werden kann, können Sie eine eigene
+ Fehlermeldung zum Browser senden und danach das Skript abbrechen lassen
+ (siehe im Beispiel "or die").
+ Alle Parameter dieser Funktion sind optional; wenn Sie keinen Wert übergeben,
+ gelten folgende Vorgabewerte:
+ hostname - localhost
+ Benutzername - Name des Benutzers, dem der Server-Prozess gehört
+ Kennwort - ein leeres Kennwort
+
Falls Sie Zugriff auf eine MySQL-Datenbank im Internet haben, werden
+ Sie
+ die Zugangsdaten, die Sie von Ihrem Provider bekommen haben, in die dafür
+ vorgesehenen Parameter eintragen müssen (siehe Beispiel).
+ Als zusätzliche Parameter können Sie den :port (ab PHP 3.0B4)
+ und den
+ :/path/to/socket (ab PHP 3.0.10) mit angeben.
+ Fehlermeldungen, die eventuell auftreten und ausgegeben werden, können
+ Sie mit
+ einem "@" unterdrücken.
+ Die Verbindung zur Datenbank wird nicht mit dem Skriptende geschlossen.
+
Folgendes ist gegenüber mysql_connect() anders:
+
+
Es wird versucht, vor dem Verbindungsaufbau eine persistente Verbindung
+ zum gleichen Host mit dem gleichen Benutzer und Passwort zu erstellen.
+ Gelingt dies, so wird die Verbindungskennung dieser Verbindung
+ zurückgegeben.
+
Die Verbindung wird nicht mit dem Beenden des Skripts geschlossen,
+ sondern
+ bleibt bestehen für einen zukünftigen Verbindungsaufbau.
+
<?PHP
+/* Allgemeine Daten fuer die Datenbankanbindung und direkter Connect zur Datenbank. Nach Einbindung dieses Segments kann direkt mit MySQL-Befehlen auf die Datenbank zugegriffen werden. */
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */ $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort)
+ or die ("Konnte keine Verbindung zur Datenbank herstellen");
+ $db_check = @MYSQL_SELECT_DB($db_name); if($db) echo "Verbindung zur Datenbank wurde hergestellt"; ?>
Mit mysql_query() sendet man eine SQL-Anfrage (Anfrage) an einen
+ Datenbankserver. Wird der optionale Parameter der Verbindungskennung
+ (Verbindungs-Kennung) nicht angegeben, so wird versucht, eine Verbindung
+ ohne Angaben von Argumenten (siehe mysql_connect) aufzubauen.
+ Die Funktion mysql_query() liefert im Erfolgsfall true, sonst false zurück.
+ Beachten Sie bitte, dass diese Funktion keine Angaben über die Anzahl
+ der
+ Datensätze zurückgibt.
+ Um auf die Datensätze zugreifen zu können, sollten Sie die unten
+ stehenden
+ Funktionen nutzen.
Mit mysql_result() kann man sich anhand einer Ergebnis-Kennung (Ergebnis-
+ Kennung) und der Angabe des Datensatz-Index (Datensatz-Index) den Inhalt
+ eines Feldes zurückgeben lassen. Mit dem optionalen Paremeter Feld
+ kann man
+ einen Feldnamen in der Form "tablename.feldname" (siehe Beispiel)
+ angeben.
+ Sollte das Feld ein Alias besitzen (select gruppe as group), so ist dieser
+ Alias als
+ Feldname zu nutzen.
+ Falls die MySQL-Anfrage sehr viele Datensätze enthält, sollten
+ Sie aus
+ Geschwindigkeitsgründen auf die unten stehenden Funktionen zurückgreifen.
Mit mysql_select_db() wählt man eine Datenbank aus. Im Erfolgsfall
+ gibt diese
+ Funktion true, sonst false zurück.
+ Als Parameter wird der Datenbankname (Datenbankname) gefordert. Sie können
+ zusätzlich eine Verbindungskennung (Verbindungs-Kennung) mit angeben.
+ Fehlt
+ die Verbindungskennung, so wird die aktuelle Verbindungskennung genutzt.
+ Fehlt auch diese Kennung, so wird versucht, eine Verbindung ohne Angaben
+ von
+ Argumenten (siehe mysql_connect) herzustellen.
<?PHP
+/* Allgemeine Daten fuer die Datenbankanbindung und direkter Connect zur Datenbank. Nach Einbindung dieses Segments kann direkt mit MySQL-Befehlen auf die Datenbank zugegriffen werden. */
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */ $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort)
+ or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_select = @MYSQL_SELECT_DB($db_name); if($db_select) echo "Datenbank wurde ausgewählt"; ?>
Mit mysql_tablename() kann man sich den Namen einer Tabelle in der Datenbank
+ zurückgeben lassen. Nachdem Sie mit mysql_list_tables() einen Ergebnissatz
+ mit
+ der Liste der Tabellen geholt haben, können Sie mysql_tablename()
+ die von
+ mysql_list_tables() gelieferte Ergebnis-Kennung übergeben, um den
+ Namen der
+ Tabelle mit dem Index i zu ermitteln.
<?PHP
+/* Allgemeine Daten fuer die Datenbankanbindung und direkter Connect zur Datenbank. Nach Einbindung dieses Segments kann direkt mit MySQL-Befehlen auf die Datenbank zugegriffen werden. */
+/* Datenbankserver - In der Regel die IP */ $db_server = "localhost";
+
/* Datenbankname */
+ $db_name = "selfphp";
+
/* Datenbankuser */
+ $db_user = "root";
+
/* Datenbankpasswort */
+ $db_passwort = "mega";
+
+/* Erstellt Connect zu Datenbank her */ $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort)
+ or die ("Konnte keine Verbindung zur Datenbank herstellen"); $result = mysql_list_tables($db_name); for($i=0; $i<mysql_num_rows($result); $i++){ $tabellen = mysql_tablename($result,$i); echo $tabellen; echo "<br>"; } ?>
Sinnvolle Vorkenntnisse zum Verständnis:
+ Vorkenntnisse PDF-Funktionen
+ In diesem Abschnitt werden PDF-Funktionen beschrieben.
+ Der Abschnitt besteht aus folgenden Seiten:
Mit pdf_add_annotation() kann man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) eine Anmerkung (eine Art gelber Zettel) einfügen. Dabei
+ gibt man als
+ Größe die X-Y-Koordinaten der linken oberen Ecke (llx und lly)
+ und die X-Y-
+ Koordinaten der rechten unteren Ecke (urx und ury) des Anmerkungskastens
+ an.
+ Koordinatenursprung (0,0) ist die linke untere Ecke des Dokuments. Zusätzlich
+ wird eine Überschrift (Titel) und ein Text (Inhalt) für die
+ Anmerkung angegeben.
+ Ist der Text nachher innerhalb vom Acrobat-Reader zu groß, so werden
+ automatisch Scrollbalken eingeblendet, sobald man mit der Maus in den
+ Kasten
+ klickt.
+
Folgende Formatierungsmöglichkeiten bestehen:
+ \t - Tabulator, der Text wird eingerückt.
+ \r - Zeilenumbruch
+
Aus Darstellungsgründen wurde im unteren Beispiel nur der Anmerkungskasten
+ gezeigt. Tatsächlich würde dieser Kasten bei einem größeren
+ Arbeitsblatt in der
+ linken oberen Ecke platziert sein.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_add_bookmark() fügt man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) ein Lesezeichen (Text) für die aktuelle Seite hinzu. Das
+ Lesezeichen
+ funktioniert, ähnlich wie ein Eintrag im Inhaltsverzeichnis, als
+ Sprungmarke zu
+ einer bestimmten Seite.
+ Rückgabewert der Funktion ist die ID des neuen Lesezeichens.
+ Sie können Lesezeichen hierarchisch sortieren. Jeder neuen Hauptgruppe
+ (Mutter)
+ können Sie weitere Untergruppen zuordnen, welche wiederum eigene
+ Untergruppen besitzen können. Eine Untergruppe kann so also auch
+ zu einer
+ Hauptgruppe werden und weitere Lesezeichen umfassen. Wenn Sie ein Lesezeichen
+ oder eine neue Untergruppe anlegen wollen, können Sie im Parameter
+ Mutter die ID
+ der übergeordneten Gruppe angeben, zu der das Lesezeichen bzw. die
+ Untergruppe
+ gehören soll.
+ Sie können mit dem optionalen Parameter offen bestimmen, ob das Inhaltsverzeichnis
+ einer bestimmten Gruppe beim Öffnen des PDF-Dokuments aus- oder eingeklappt
+ sein soll. Soll das Inhaltsverzeichnis ausgeklappt sein, so brauchen Sie
+ nur für offen
+ einen Wert ungleich 0 (Null) angeben.
+ Der optionale Parameter offen ist nur im Zusammenhang mit einer Gruppe
+ (Mutter)
+ erlaubt. Da aber die oberste Hauptgruppe (das erste Lesezeichen) keine
+ "Mutter"
+ besitzt, können Sie einfach einen nicht existenten Rückgabewert
+ (im Beispiel $_x)
+ als Gruppen-ID verwenden.
+ Beim Öffnen des unteren Beispiels klappt die Gruppe "2. Ebene"
+ sofort auf,
+ während die "1. Ebene" geschlossen bleibt.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_add_launchlink() fügt man innerhalb eines PDF-Dokuments
+ (PDF-
+ Dokument) einen Link auf eine Datei ein. Dabei wird ein Kasten erstellt,
+ welcher
+ als Positionierungsangaben die linkere untere (llx, llx) und die rechte
+ obere Ecke
+ (urx, ury) besitzt. Zusätzlich wird mit dem Parameter datei der Pfad
+ zu der
+ Zieldatei angegeben. Im unteren Beispiel wurde eine GIF-Datei angegeben,
+ welche nach dem Klick auf den Kasten geöffnet wurde.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_add_locallink() kann man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) einen Link auf eine andere Seite (seite) innerhalb des PDF-
+ Dokuments hinzufügen. Dabei gibt man als Größe die X-Y-Koordinaten
+ der
+ linken unteren Ecke (llx und lly) und der rechten oberen Ecke (urx und
+ ury) der
+ Linkfläche an. Im PDF-Dokument wird dann ein Kasten erstellt, welcher
+ als Link
+ auf die Seite seite des PDF-Dokuments verweist.
+
Der letzte Parameter (dest) legt fest, auf welche Weise das Dokument
+ angezeigt
+ wird. Folgende Werte sind für dest möglich:
+
fitheight - Das Dokument wird über die ganze Höhe ausgegeben.
+ fitpage - Das Dokument wird im ganzen Fenster angezeigt.
+ fitwidth - Anzeige des Dokuments über die ganze Breite.
+ retain - Das Dokument wird im gegenwärtigen Anzeigemodus des Acrobat-
+ Readers angezeigt.
+
Im unteren Beispiel wurde über den Kasten ein zusätzlicher
+ Text gelegt
+ ("Nächste Seite"). Geht man nun mit dem Mauszeiger über
+ den Kasten, so wird
+ der Link durch eine Hand dargestellt. Wenn Sie auf den Kasten klicken,
+ wird auf
+ die ausgewählte Seite verzweigt.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_add_note() kann man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ eine Notiz platzieren. Dabei gibt man als Größe die X-Y-Koordinaten
+ der linken
+ unteren Ecke (llx und lly) und der rechten oberen Ecke (urx und ury) der
+ Linkfläche an. Im unteren Beispiel wurde mit contents ein Text und
+ mit title eine
+ Überschrift festgelegt. Zusätzlich bestimmt man mit dem Parameter
+ icon die Art
+ der Darstellung und mit open, ob das anzuzeigende Fenster geöffnet
+ oder
+ geschlossen angezeigt werden soll.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_add_outline() fügt man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) ein Lesezeichen (Text) für die aktuelle Seite hinzu. Das
+ Lesezeichen
+ funktioniert, ähnlich wie ein Eintrag im Inhaltsverzeichnis, als
+ Sprungmarke zu
+ einer bestimmten Seite.
+ Rückgabewert der Funktion ist die ID des neuen Lesezeichens.
+ Sie können Lesezeichen hierarchisch sortieren. Jeder neuen Hauptgruppe
+ (Mutter)
+ können Sie weitere Untergruppen zuordnen, welche wiederum eigene
+ Untergruppen besitzen können. Eine Untergruppe kann so also auch
+ zu einer
+ Hauptgruppe werden und weitere Lesezeichen umfassen. Wenn Sie ein
+ Lesezeichen oder eine neue Untergruppe anlegen wollen, können Sie
+ im
+ Parameter Mutter die ID der übergeordneten Gruppe angeben, zu der
+ das
+ Lesezeichen bzw. die Untergruppe gehören soll.
+ Sie können mit dem optionalen Parameter offen bestimmen, ob das
+ Inhaltsverzeichnis einer bestimmten Gruppe beim Öffnen des PDF-Dokuments
+ aus- oder eingeklappt sein soll. Soll das Inhaltsverzeichnis ausgeklappt
+ sein, so
+ brauchen Sie nur für offen einen Wert ungleich 0 (Null) angeben.
+ Der optionale Parameter offen ist aber nur im Zusammenhang mit einer Gruppe
+ (Mutter) erlaubt. Da aber die oberste Hauptgruppe (das erste Lesezeichen)
+ keine
+ "Mutter" besitzt, können Sie einfach einen nicht existenten
+ Rückgabewert (im
+ Beispiel $_x) als Gruppen-ID verwenden.
+
Beim Öffnen des unteren Beispiels, klappt die Gruppe "PHP3/4"
+ sofort auf,
+ während "Referenz" geschlossen bleibt. Sobald Sie aber
+ auf "Referenz" klicken,
+ öffnet sich sofort die ganze Gruppenstruktur von "Referenz".
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_add_pdflink() kann man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) einen Hyperlink auf eine andere PDF-Datei hinzufügen. Dabei
+ gibt man als
+ Größe die X-Y-Koordinaten der linken unteren Ecke (llx und
+ lly) und der rechten
+ oberen Ecke (urx und ury) der Hyperlinkfläche an. Im PDF-Dokument
+ wird dann
+ ein Kasten erstellt, welcher als Hyperlink auf den Dateinamen (filename)
+ des
+ PDF-Dokuments verweist. Zusätzlich kann man die Seite (page) angeben,
+ auf
+ welche man direkt springen möchte. Der letzte Parameter (dest) legt
+ fest, auf
+ welche Weise das Dokument angezeigt wird. Folgende Werte sind für
+ dest
+ möglich:
+ fitbox - Es werden alle Objekte ohne Berücksichtigung des Seitenrandes
+ ausgegeben.
+ fitheight - Das Dokument wird über die ganze Höhe ausgegeben.
+ fitpage - Das Dokument wird im ganzen Fenster angezeigt.
+ fitwidth - Anzeige des Dokuments über die ganze Breite.
+ retain - Das Dokument wird im gegenwärtigen Anzeigemodus des Acrobat-
+ Readers angezeigt.
+
Im unteren Beispiel wurde über den Kasten ein zusätzlicher
+ Text gelegt ("Lade
+ PDF-Dokument"). Geht man nun mit dem Mauszeiger über den Kasten,
+ so wird
+ der Link durch ein "w" mit einer Hand dargestellt. Wenn Sie
+ auf den Kasten
+ klicken, wird auf die ausgewählte Seite verzweigt.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_add_weblink() kann man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) einen Hyperlink auf eine Website hinzufügen. Dabei gibt
+ man als
+ Größe die X-Y-Koordinaten der linken unteren Ecke (llx und
+ lly) und der rechten
+ oberen Ecke (urx und ury) der Hyperlinkfläche an. Im PDF-Dokument
+ wird dann
+ ein Kasten erstellt, welcher als Hyperlink auf die URL (url) der Website
+ verweist.
+ Im unteren Beispiel wurde über den Kasten ein zusätzlicher Text
+ gelegt ("zur
+ Homepage"). Geht man nun mit dem Mauszeiger über den Kasten,
+ so wird der
+ Link durch ein "w" mit einer Hand dargestellt. Wenn Sie auf
+ den Kasten klicken,
+ wird der Link in einem Browserfenster geöffnet.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_arc() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ einen Bogen. Dabei wird mit den X-Y-Koordinatenpunkten x-Koor und y-Koor
+ die Bogenmitte angegeben. Der Radius des Kreises wird durch den Parameter
+ Radius bestimmt. Für die Laufweite des Bogens bestimmt man einen
+ Startwinkel
+ (Start) und einen Endwinkel (Ende). Der Kreisbogen wird dabei gegen den
+ Uhrzeigersinn gezeichnet.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_begin_page() beginnt man eine neue Seite innerhalb eines PDF-
+ Dokuments (PDF-Dokument) mit der Breite Breite und der Höhe Höhe.
+ Dabei ist
+ darauf zu achten, dass man mindestens eine neue Seite erzeugt, welche
+ man mit
+ pdf_end_page() schließen sollte, um ein gültiges Dokument zu
+ erzeugen.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_circle() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ einen Kreis. Dabei wird mit den X-Y-Koordinatenpunkten (x-Koor und y-Koor)
+ die Kreismitte angegeben. Der Radius (Radius) des Kreises ist dabei die
+ Hälfte
+ des Durchmessers.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_close_image() schließt man innerhalb eines PDF-Dokuments
+ (PDF-
+ Dokument) ein Bild (Bild), welches man zuvor mit den Funktionen pdf_open_gif(),
+ pdf_open_png(), pdf_open_image_file(), pdf_open_jpeg(), pdf_open_memory_image()
+ oder pdf_open_tiff() geöffnet hat. Diese Funktion sollten Sie benutzen,
+ um das Bild
+ wieder ordnungsgemäß zu schließen.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_closepath() schließt man in einem PDF-Dokument (PDF-Dokument)
+ den
+ Zeichenpfad. Dabei wird das Ende des aktuellen Pfades mit dem Anfang des
+ Pfades verbunden.
+ Im unteren Beispiel wurde der erste Pfad mit einer horizontalen Linie
+ nach rechts
+ begonnen. Die zweite Linie begann automatisch am Ende der ersten Linie
+ und
+ zog sich in vertikaler Richtung nach unten. Die dritte Linie begann wieder
+ am
+ Ende der zweiten Linie und zog sich in horizontaler Richtung von rechts
+ nach
+ links. Danach wurde der Pfad abgeschlossen und das Ende der dritten Linie
+ schloss sich zusammen mit dem Anfang der ersten Linie.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_closepath_fill_stroke() schließt man einen Pfad innerhalb
+ eines PDF-
+ Dokuments (PDF-Dokument) und füllt das Innere des aktuellen Pfades
+ mit der
+ aktuell zugewiesenen Farbe. Zusätzlich zum Füllen wird entlang
+ des Pfades eine
+ Linie gezeichnet.
+ Im unteren Beispiel wurde ein Bogen mit 180° entgegen dem Uhrzeigersinn
+ gezeichnet. Am Ende des Pfades wurde danach eine diagonale Linie bis zum
+ unteren Rand der Seite gezogen. Mit pdf_closepath_fill_stroke wurde danach
+ der
+ Innenraum gefüllt und eine Linie entlang des Pfades gezeichnet.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_closepath_stroke() schließt man in einem PDF-Dokument (PDF-
+ Dokument) den Zeichenpfad. Dabei wird das Ende des aktuellen Pfades mit
+ dem
+ Anfang des Pfades verbunden. Zusätzlich wird aber noch die Linie
+ gezeichnet
+ und der aktuelle Pfad gelöscht. Im unteren Beispiel wurde ein Bogen
+ mit 270°
+ entgegen dem Uhrzeigersinn gezeichnet. Am Ende des Pfades wurde danach
+ eine
+ vertikale Linie bis zum Mittelpunkt des Bogens gezogen. Mit pdf_closepath_stroke()
+ wurde der fehlende Pfad danach geschlossen und die Linie gezeichnet.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_continue_text() kann man einen Text (Text) in die nächste
+ Zeile eines
+ PDF-Dokuments (PDF-Dokument) schreiben. Dabei benutzt pdf_continue_text()
+ bei der Ausrichtung des Textes die Einstellungen der letzten Textfunktion
+ (z.B.
+ pdf_show_xy()). Falls keine dieser Textfunktionen vorher aufgerufen wurde,
+ so
+ ist mit der Funktion pdf_set_text_pos() die Positionsangabe für die
+ Textausgabe
+ zu setzen, da sonst der Text innerhalb des Dokuments nicht angezeigt werden
+ kann. Mit der Funktion pdf_set_leading() wird der Abstand zwischen den
+ Zeilen
+ bestimmt.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_curveto() zeichnet man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) eine Bézier-Kurve vom aktuellen Punkt (im Beispiel ist
+ das das Ende
+ der horizontalen Linie) zum Koordinatenpunkt (x3/y3). Dabei werden als
+ Kontrollpunkte für die Bézier-Kurve die Koordinatenpunkte
+ (x1/y1) und (x2/y2)
+ ausgewertet. Im unteren Beispiel wurden die Kontrollpunkte durch einen
+ dünneren Strich dargestellt.
+ Dabei ergibt sich die Bézier-Kurve aus ihren zwei Endpunkten und
+ durch die
+ zwei Kontrollpunkte, die die Endpunkt-Tangenten der Kurve kontrollieren.
+ Dabei
+ ist sie als Annäherungskurve zu sehen, das heißt die Kurve
+ wird die
+ Kontrollpunkte nicht schneiden, sondern versuchen, sich so nah wie möglich
+ an
+ die Kontrollpunkte zu platzieren.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_end_page() beendet man eine Seite eines PDF-Dokuments (PDF-
+ Dokument), welche man zuvor mit pdf_begin_page() erzeugt hat. Weitere
+ Änderungen auf der Seite sind nach dem Schließen nicht mehr
+ möglich. Sie
+ sollten diesen Befehl immer im Zusammenhang mit pdf_begin_page() nutzen,
+ um
+ ein gültiges Dokument zu erhalten.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
+ An der geschlossenen Seite sind keine Änderungen mehr möglich.
+
Mit pdf_endpath() beendet man einen Pfad innerhalb eines PDF-Dokuments
+ (PDF-Dokument), ohne ihn explizit zu schließen. Nachfolgende Funktionen
+ werden dann nicht mehr den Endpunkt des letzten Pfades finden, um von
+ diesem
+ Punkt aus weiterzeichnen zu können.
+ Im unteren Beispiel wurde ein Bogen mit 180° entgegen dem Uhrzeigersinn
+ gezeichnet. Am Ende des Pfades wurde danach eine diagonale Linie bis zum
+ unteren Rand der Seite gezogen. Von diesem Endpunkt verläuft eine
+ horizontale
+ Linie nach rechts. Danach wurde der Pfad beendet. Es ist nun nicht mehr
+ möglich, den Anfangs-/Endpunkt des Pfads automatisch zu nutzen.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_fill() füllt man das Innere des aktuellen Pfades innerhalb
+ eines PDF-
+ Dokuments (PDF-Dokument) mit der aktuellen Farbe. Viele Funktionen wie
+ z.B.
+ pdf_circle() oder pdf_rect() erzeugen einen Pfad, den man mit pdf_fill()
+ mit Farbe
+ füllen kann. Im unteren Beispiel wurde das Rechteck mit einer dunkelgrauen
+ und
+ der Kreis mit einer hellgrauen Farbe gefüllt.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_fill_stroke() füllt man das Innere des aktuellen Pfades
+ innerhalb eines
+ PDF-Dokuments (PDF-Dokument) mit der aktuellen Farbe. Viele Funktionen
+ wie
+ z.B. pdf_circle() oder pdf_rect() erzeugen einen Pfad, den man mit
+ pdf_fill_stroke() mit Farbe füllen kann. Zusätzlich zum Füllen
+ wird entlang des
+ Pfades eine Linie gezeichnet.
+ Im unteren Beispiel wurde ein Bogen von 270° entgegen dem Uhrzeigersinn
+ gezeichnet. Am Ende des Pfades wurde danach eine vertikale Linie bis zum
+ Mittelpunkt des Bogens gezogen. Mit pdf_fill_stroke() wurde danach der
+ Innenraum gefüllt und eine Linie entlang des Pfades gezeichnet.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_get_image_height() kann man sich die Höhe eines Bildes (Bild)
+ zurückgeben lassen und, wie im unteren Beispiel gezeigt, die Informationen
+ innerhalb des PDF-Dokuments (PDF-Dokument) nutzen. Dabei wurde ein JPEG-
+ Bild innerhalb des Dokuments mit pdf_place_image() an einer Stelle platziert
+ und
+ seine Höhe innerhalb eines Textes, welcher mit pdf_show_xy() erstellt
+ worden
+ ist, ausgegeben. Diese Funktion eignet sich besonders gut, um das Bild
+ innerhalb
+ eines PDF-Dokuments exakt zu positionieren.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
+ Sie können sich aber bei diesem Befehl mit "echo $height;"
+ die
+ Höhe des Bildes ausgeben lassen.
Mit pdf_get_image_width() kann man sich die Breite eines Bildes (Bild)
+ zurückgeben lassen und, wie im unteren Beispiel gezeigt, die Informationen
+ innerhalb des PDF-Dokuments (PDF-Dokument) nutzen. Dabei wurde ein JPEG-
+ Bild innerhalb des Dokuments mit pdf_place_image() an einer Stelle platziert
+ und
+ seine Breite innerhalb eines Textes, welcher mit pdf_show_xy() erstellt
+ worden
+ ist, ausgegeben. Diese Funktion eignet sich besonders gut, um das Bild
+ innerhalb
+ eines PDF-Dokuments exakt zu positionieren.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
+ Sie können sich aber bei diesem Befehl mit "echo $width;"
+ die
+ Breite des Bildes ausgeben lassen.
Mit pdf_get_parameter() kann man sich den Wert einer für ein PDF-Dokument
+ (PDF-Dokument) gültigen Eigenschaft (Name) vom Typ string zurückgeben
+ lassen.
+ Der optionale Parameter Modifizierer spezifiziert die gesuchte Eigenschaft
+ genauer.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_get_value() kann man sich den Wert einer für ein PDF-Dokument
+ (PDF-
+ Dokument) gültigen Eigenschaft (Name) vom Typ double zurückgeben
+ lassen.
+ Der optionale Parameter Modifizierer spezifiziert die gesuchte Eigenschaft
+ genauer.
+ Für folgende Objekte können Sie Eigenschaften abfragen:
+ Bilder
+ Grafiken
+ Font/Text
Für Grafiken gibt es folgende Eigenschaften:
+ currentx - X-Koordinate der Position
+ currenty - Y-Koordinate der Position
+
Für Font/Text gibt es folgende Eigenschaften:
+ ascender - Abstand nach einem Zeichen
+ descender - Abstand vor einem Zeichen
+ capheight - Höhe des Zeilenabstand
+ font - Zeiger auf den Font
+ fontsize - Größe des Font
+ textx - X-Koordinate des Textes
+ texty - Y-Koordinate des Textes
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_lineto() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ eine Gerade. Anfangspunkt der Geraden ist der Endpunkt der letzten Zeichenoperation
+ (z.B. pdf_arc oder pdf_moveto), Endpunkt die Koordinaten x-Koor und y-Koor.
+ Im Anschluss an pdf_lineto() sollten Sie pdf_stroke() aufrufen, da erst
+ dann die Linie
+ wirklich gezeichnet wird.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_moveto() setzt man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ den Startpunkt für weitere Zeichenoperationen auf die Koordinaten
+ x-Koor und y-
+ Koor (um z.B. eine Linie mit pdf_lineto() zu zeichen).
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_open() öffnet man eine PDF-Datei mittels der Datei-ID (Datei-
+ Deskriptor), welche zuvor mit fopen() erstellt wurde. Wird keine Datei-ID
+ angegeben, so wird die Ausgabe an den Browser oder nach stdout gesendet.
Mit pdf_open_gif() liest man ein GIF-Bild aus einer Datei (Dateiname)
+ und stellt
+ es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung.
+ Im unteren Beispiel wurde ein GIF-Bild in das PDF-Dokument geladen und
+ mit
+ pdf_place_image() an einer bestimmten Stelle positioniert.
+ Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden.
+ Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_open_image_file() liest man ein Bild aus einer Datei (Dateiname)
+ und
+ stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung. Das Format der Bilddatei muss im Parameter (Bildformat)
+ angegeben
+ werden. Folgende Bildformate werden unterstützt:
+ gif
+ jpeg
+ png
+ tiff
+ Im unteren Beispiel wurde ein PNG-Bild in das PDF-Dokument geladen und
+ mit
+ pdf_place_image() an einer bestimmten Stelle positioniert.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_open_jpeg() liest man ein JPEG-Bild aus einer Datei (Dateiname)
+ und
+ stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung.
+ Im unteren Beispiel wurde ein JPEG-Bild in das PDF-Dokument geladen und
+ mit
+ pdf_place_image() an einer bestimmten Stelle positioniert.
+ Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden.
+ Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_open_png() liest man ein PNG-Bild aus einer Datei (Dateiname)
+ und
+ stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung.
+ Im unteren Beispiel wurde ein PNG-Bild in das PDF-Dokument geladen und
+ mit
+ pdf_place_image() an einer bestimmten Stelle positioniert.
+ Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden.
+ Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_open_tiff() liest man ein TIFF-Bild aus einer Datei (Dateiname)
+ und
+ stellt es dem PDF-Dokument (PDF-Dokument) zur weiteren Bearbeitung zur
+ Verfügung. Im unteren Beispiel wurde ein TIFF-Bild in das PDF-Dokument
+ geladen und mit pdf_place_image() an einer bestimmten Stelle positioniert.
+ Diese Funktion sollten Sie in neuen Programmen nicht mehr verwenden.
+ Benutzen Sie an ihrer Stelle die Funktion pdf_open_image_file().
+
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_place_image() platziert man ein Bild (Bild) innerhalb eines PDF-
+ Dokuments (PDF-Dokument). Dabei gibt man die Position des Bildes durch
+ die
+ X-Y-Koordinaten (x-Koor und y-Koor) an, welche den Nullpunkt in der linken
+ unteren Ecke der Arbeitsfläche haben. Zusätzlich kann man mit
+ dem Parameter
+ scale eine Skalierung auf das Bild anwenden. Im unteren Beispiel wurde
+ eine
+ Grafik auf die Koordinaten 10/10 platziert und ein Skalierungsfaktor von
+ 1.0
+ angewendet (Originalgröße).
+ Um die Grafik auf die halbe Größe zu reduzieren, wendet man
+ einen
+ Skalierungsfaktor von 0.5 an.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_rect() zeichnet man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ ein Rechteck. Dabei wird mit den X-Y-Koordinaten (x-Koor und y-Koor) die
+ linke untere Ecke des Rechtecks angegeben. Die Breite (Breite) und Höhe
+ (Höhe)
+ bestimmen, wie groß das Rechteck werden soll.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_restore() kann man den Schutz, welcher mittels pdf_save() auf
+ das
+ aktuelle Dokument (PDF-Dokument) gesetzt wurde, wieder aufheben. Das ist
+ oftmals sehr nützlich, um nach Änderungen im Koordinatensystem
+ in den
+ ursprünglichen Zustand des Dokuments zu gelangen.
+ Im unteren Beispiel wurde zuerst ein Text (1) in horizontaler Richtung
+ geschrieben. Danach wurde die Funktion pdf_save() aufgerufen, um die letzten
+ Einstellungen zu schützen. Anschließend wurden dann die Texte
+ 2 und 3 mittels
+ pdf_skew() im Koordinatensystem geschert. Um die ursprüngliche Umgebung
+ wieder herzustellen, wurde die Funktion pdf_restore() benutzt. Abschließend
+ wurde dann noch einmal ein Text (4) in horizontaler Richtung geschrieben.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_save() kann man den aktuellen Zustand des Dokuments (PDF-
+ Dokument) sichern. Das ist oftmals sehr nützlich, wenn z.B.
+ Koordinatenverschiebungen nur für bestimmte Objekte gelten sollen.
+ Sobald
+ Sie die Koordinatenverschiebungen durchgeführt und die Objekte gezeichnet
+ haben, können Sie mit der Funktion pdf_restore() die ursprüngliche
+ Umgebung
+ wieder herstellen.
+ Im unteren Beispiel wurde zuerst ein Text (1) in horizontaler Richtung
+ geschrieben. Danach wurde die Funktion pdf_save() aufgerufen, um die letzten
+ Einstellungen zu schützen. Anschließend wurden die Texte 2
+ und 3 mittels
+ pdf_skew() im Koordinatensystem geschert. Um die ursprüngliche Umgebung
+ wieder herzustellen, wurde die Funktion pdf_restore() benutzt. Abschließend
+ wurde noch einmal ein Text (4) in horizontaler Richtung geschrieben.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_scale() setzt man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ einen Skalierungsfaktor, welcher sich auf alle nachfolgenden Funktionen
+ auswirkt. Dabei wird mittels der Werte x-Skalierung und y-Skalierung festgelegt,
+ um welchen Faktor die X- und Y-Koordinatenpunkte skaliert werden sollen.
+ Durch die Skalierung wird nicht nur das gezeichnete Objekt vergrößert
+ bzw.
+ verkleinert, sondern auch um den Skalierungsfaktor verschoben. Es ist
+ darauf zu
+ achten, dass der Skalierungsfaktor nicht 0 sein darf, da es sonst zu einer
+ Fehlermeldung kommen wird.
+
Folgende Skalierungswerte sind zulässig:
+ 0.1 ' 0.9 - Verkleinerung des Objekts
+ 1 - Normale Ansicht des Objekts
+ 1.1 ' ~ - Vergrößerung des Objekts
+
Im unten stehenden Beispiel wurden zwei Linien exakt auf die gleichen
+ Koordinaten und mit der gleichen Länge gezeichnet. Bei einer Linie
+ wurden
+ allerdings horizontale und vertikale Skalierungsfaktoren von jeweils 4.5
+ angegeben. Diese Linie ist daher um das 4,5fache vergrößert
+ und um das 4,5fache
+ verschoben.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_setdash() wird innerhalb eines PDF-Dokuments (PDF-Dokument) das
+ Muster für gestrichelte Linien festgelegt. Dabei wird die Länge
+ der schwarzen
+ (Schwarz) und weißen (Weiß) Striche angegeben.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_setflat() legt man innerhalb eines PDF-Dokuments (PDF-Dokument)
+ die
+ Annährungsgenauigkeit (Wert) von einem Objekt an den Pfad fest. Der
+ Wert
+ kann dabei von 0 bis 100 reichen. Als Standardwert für diese Funktion
+ ist 0 (Null)
+ eingestellt.
Mit pdf_setgray() bestimmt man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) den aktuellen Grauwert (Grauwert), mit dem eine Linie gezeichnet
+ oder ein Pfad gefüllt werden soll. Dabei können Sie einen Wert
+ zwischen 0 bis 1
+ eingeben, wobei 0 gleich Schwarz und 1 gleich Weiß ist. In der folgenden
+ Tabelle
+ sehen Sie die möglichen Farbwerte. Rechts neben den Linien finden
+ Sie die
+ passenden RGB-Werte zu den Farben.
Bei dem unteren Beispiel wurde zuerst ein Dreieck gezeichnet und nur
+ der Pfad
+ mit einem Grauwert belegt. Bei dem inneren Dreieck wurde zusätzlich
+ eine
+ Füllung vorgenommen.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.
Mit pdf_setgray_fill() bestimmt man innerhalb eines PDF-Dokuments (PDF-
+ Dokument) den aktuellen Grauwert (Grauwert), mit dem ein Pfad gefüllt
+ werden
+ soll. Dabei können Sie einen Wert zwischen 0 bis 1 eingeben, wobei
+ 0 gleich
+ Schwarz und 1 gleich Weiß ist. In der folgenden Tabelle sehen Sie
+ die möglichen
+ Farbwerte. Rechts neben den Linien finden Sie die passenden RGB-Werte
+ zu den
+ Farben.
Achtung: Bei der Ausgabe des Befehls wird im Browser nichts
+ zurückgegeben. Die obenstehende Grafik wurde im Acrobat-
+ Reader geöffnet um die Wirkungsweise des Befehls zu zeigen.