chmod 777 MyDBs">

Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SQLite und XML in PHP 5. SQLite: Allgemein SQLite ist ein "light-weight" SQL DBMS, das die meisten gewohnten Features einer SQL Datenbank unterstützt.

Ähnliche Präsentationen


Präsentation zum Thema: "SQLite und XML in PHP 5. SQLite: Allgemein SQLite ist ein "light-weight" SQL DBMS, das die meisten gewohnten Features einer SQL Datenbank unterstützt."—  Präsentation transkript:

1 SQLite und XML in PHP 5

2 SQLite: Allgemein SQLite ist ein "light-weight" SQL DBMS, das die meisten gewohnten Features einer SQL Datenbank unterstützt Sie können Datenbanken selber anlegen und löschen (werden in normalen Dateien abgelegt) In Verbindung mit den OO Features in PHP5 können alle DB-Tasks sehr einfach ausgeführt werden

3 SQLite: Datenbankzugriff Wichtigste Klasse: SQLiteDatabase Öffnen / erzeugen einer Datenbank: $db = new SQLiteDatabase("MyDBs/test-db.xy"); Das Verzeichnis, in dem die Datenbank liegt muss Lese- und Schreibzugriff bieten: > chmod 777 MyDBs

4 SQLite: SQLiteDatabase Häufig benötigte Methoden von SQLiteDatabase –Abfrage mit Ergebnis: query(SQL) liefert ein Objekt der Klasse SQLiteResult $result = $db->query("select * from myTable"); –Abfrage ohne Ergebnis: queryExec(SQL) liefert Boolean $success = $db->queryExec("insert into myTable values (1,2)");

5 SQLite: SQLiteResult Diese Klasse kapselt das Ergebnis einer SELECT Abfrage Informationen über das Ergebnis: numRows() : Anzahl der Datensätze im Ergebnis numFields() : Anzahl der Spalten fieldName(index) : Name der Spalte an der Stelle index Traversieren des Ergebnisses mit den Methoden: rewind() : Ersten Datensatz des Ergebnisses anwählen valid() : Prüft ob noch weiter Datensätze vorhanden sind next() : Navigiert zum nächsten Datensatz im Ergebnis skip(anzahl) : anzahl Datensätze überspringen current(typ) : Aktueller Datensatz als assoziatives Array typ kann sein: SQLITE_NUM : Normales Array mit Spalten-Index als Schlüssel SQLITE_ASSOC : Assoziatives Array mit Spalten-Name als Schlüssel SQLITE_BOTH : Assoz. Array mit Index und Name als Schlüssel (Default!!!)

6 SQLite: SQLiteResult Beispiel: Ausgabe des Ergebnisses in HTML-Tabelle query("select * from myTable"); if(!$result or result->numRows()==0) die("No results."); echo " \n"; # spaltenüberschriften ausgeben echo " "; for($i=0; $i numFields(); $i++) echo " ". $result->fieldName($i)." "; echo " \n"; # ergebnis traversieren for($result->rewind(); $result->valid(); $result->next()) { echo " "; foreach($result->current(SQLITE_NUM) as $value) { echo " $value "; } echo " \n"; } echo " \n"; ?>

7 SQLite: Weitere Hilfe Offizielle Dokumentation zu SQLite: Beispiel für eine einfache SQLite Konsole (Quelltext einsehbar mit der Endung ".phps") Beispiel für Datenbank anlegen:

8 SimpleXML: Allgemein SimpleXML ist eine PHP Library für Bearbeitung von XML Dateien –Einfaches Laden und Traversieren von XML –Änderung von bereits bestehenden Knoten möglich –Einfache Unterstützung von XPath-Abfragen –Keine Änderung der Baumstruktur möglich!!! Dafür kann DOM verwendet werden –Speichern des XML Files über normale I/O Funktionen (fopen, fwrite) SimpleXML ist für lesendes Bearbeiten viel bequemer zu nutzen als die üblichen DOM Implementierungen

9 SimpleXML: Beispiel XML Angels and Demons 7.90 Very hot stuff Diplomarbeit Exceptionally cool books.xml # XML Datei öffnen $books = simplexml_load_file("books.xml"); # Inhalt ausgeben echo $books->asXML(); Beachte: In $books steht jetzt der Root- Knoten!

10 SimpleXML: Beispiel XML Angels and Demons 7.90 Very hot stuff Diplomarbeit Exceptionally cool books.xml # Alle Buchautoren ausgeben foreach($books->book as $book) { echo utf8_decode($book->author['firstname']). " ". utf8_decode($book->author['lastname']). " "; } Beachte: Die Knoten im XML Baum werden einfach über den Namen angesprochen

11 SimpleXML: Beispiel XML Angels and Demons 7.90 Very hot stuff Diplomarbeit Exceptionally cool books.xml # Navigation mit XPath $currencies = foreach($currencies as $currency) { echo $currency. " "; } Beachte: xpath() liefert eine Knotenmenge

12 SimpleXML: Beispiel XML Angels and Demons 7.90 Very hot stuff Diplomarbeit Exceptionally cool books.xml # Alternative XPath Variante $prices = foreach($prices as $price) { echo $price["currency"]. " "; } Beachte: der Indizierungsoperator bei einem Knoten liefert das entsprechende Attribut

13 SimpleXML: Beispiel XML Angels and Demons 7.90 Very hot stuff Diplomarbeit Exceptionally cool books.xml # Alle Infos zur Diplomarbeit von J. Mangler ausgeben: $da = echo " "; foreach($da[0]->children() as $info) { echo utf8_decode($info->asXML()). "\n"; } echo " "; children() liefert alle Unterknoten, attributes() liefert alle attribute

14 SimpleXML: Beispiel XML Angels and Demons 7.90 Very hot stuff Dissertation Exceptionally cool books.xml # Knotenwert ändern und Datei speichern $da[0]->title = "Dissertation"; $xmlFile = fopen("books.xml", "w"); fwrite($xmlFile, $books->asXML()); fclose($xmlFile); Schreiben in File derzeit nicht unterstützt Nur über Standard I/O möglich

15 SimpleXML Links Auf der PHP Seite Tutorials


Herunterladen ppt "SQLite und XML in PHP 5. SQLite: Allgemein SQLite ist ein "light-weight" SQL DBMS, das die meisten gewohnten Features einer SQL Datenbank unterstützt."

Ähnliche Präsentationen


Google-Anzeigen