SQLite und XML in PHP 5.

Slides:



Advertisements
Ähnliche Präsentationen
Ebru Iscan, Andrea Kováčová Experimente Seminar "Experimentielle Evaluierung im IR"
Advertisements

Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML
Objekt – Relationales – Modell Tomasz Makowski IN
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
Allgemeine Technologien II
Seite 1Maria, Philipp, Herbert Seite 1 Fitnessplaner Ziele: >Fitnessplaner für Onlinebetrieb >Registrierung >individuelle Trainingsplanerstellung.
SendEplanung Datenbank
Java: Dynamische Datentypen
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL als Abfragesprache
XML - Abfragesprache Xpath. Problemstellung Unsere XML-Datei steht und wir wollen alle 1. Titel aller vergangenen Sendungen automatisch aus den Playlists.
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Dynamische Webseiten mit PHP
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
XML Standardisierungen und Abfragesprachen
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Werkzeuge und Softwareumgebung von Christian Michele.
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
JDBC EDV JDBC.
Erhard Künzel für Info 9. Klasse: digitale-schule-bayern.de © Erhard Künzel.
Einführung MySQL mit PHP
Neue DBF und DBC Befehle in Visual FoxPro
Einführung und Überblick
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
JDBC: JAVA Database Connectivity
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
- XML-Path Language (xPath) ist eine Empfehlung des W3C - es wurde entwickelt, um durch ein XML- Dokument zu navigieren - und ist ein großer Teil von.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Datenbanken Mehr als Tabellen.
News Modul Überblick und Erweiterung
Wir bauen uns eine Webapplikation!
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
PHP und MYSQL am Organisatorisches Speichern von Bildern in der Datenbank // Zwei Methoden BLOB-Felder in der Datenbank Einlesen von Dateien.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
SQL Überblick Abfragen aus einer Tabelle
Einführung in Datenbankmodellierung und SQL
Freiwillige Feuerwehr der Stadt Perg
PHP Basic.
Oliver Spritzendorfer Thomas Fekete
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Objekte Objekte sind Elemente, die man mit dem Programm bearbeiten kann. Datei, aufgebaut als Tabelle (Relation) Datensatz, entspricht einer Zeile der.
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
Dynamische Webseiten-Generierung
Einführung in PHP.
Einführung in PHP 5.
PHP Einführung Anbindung an XML Technologien Jürgen Mangler.
Datenbankanbindung mit
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Blockseminar Allgemeine Technologien II Dozent: P. Sahle März 2009 PHP in HTML Referentin: Angela Brinck.
Quelle: xkcd.com SQL Injections.
TypoScript.
Dynamische Seiten 13. Juli 2009 Norbert Winnige „Datenbanken in den Geisteswissenschaften“
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
PHPmyadmin Maya Kindler 6c.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Entwicklung einer Webapplikation mittels HTML, PHP, MySQL, jQuery, und Smarty-Templates am Beispiel einer Studienarbeitsverwaltung.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt.
SQL Basics Schulung –
Das IT - Informationssystem
Allgemeine Technologien 2
(Structured Query Language)
 Präsentation transkript:

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 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

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

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)");

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!!!)

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

SQLite: Weitere Hilfe Offizielle Dokumentation zu SQLite: http://www.php.net/manual/en/ref.sqlite.php Beispiel für eine einfache SQLite Konsole http://almighty.pri.univie.ac.at/~derntl/examples/sqlite/console.php (Quelltext einsehbar mit der Endung ".phps") Beispiel für Datenbank anlegen: http://almighty.pri.univie.ac.at/~mangler/sql.php

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

SimpleXML: Beispiel XML books.xml <?xml version="1.0" encoding="ISO-8859-1"?> <books> <book isbn="123-456-789"> <author firstname="Dan" lastname="Brown"/> <title>Angels and Demons</title> <price currency="USD">7.90</price> <review points="5">Very hot stuff</review> </book> <book isbn="999-999-999"> <author firstname="Jürgen" lastname="Mangler"/> <title>Diplomarbeit</title> <review points="10">Exceptionally cool</review> </books> Beachte: In $books steht jetzt der Root-Knoten! # XML Datei öffnen $books = simplexml_load_file("books.xml"); # Inhalt ausgeben echo $books->asXML();

SimpleXML: Beispiel XML books.xml <?xml version="1.0" encoding="ISO-8859-1"?> <books> <book isbn="123-456-789"> <author firstname="Dan" lastname="Brown"/> <title>Angels and Demons</title> <price currency="USD">7.90</price> <review points="5">Very hot stuff</review> </book> <book isbn="999-999-999"> <author firstname="Jürgen" lastname="Mangler"/> <title>Diplomarbeit</title> <review points="10">Exceptionally cool</review> </books> Beachte: Die Knoten im XML Baum werden einfach über den Namen angesprochen # Alle Buchautoren ausgeben foreach($books->book as $book) { echo utf8_decode($book->author['firstname']) . " " . utf8_decode($book->author['lastname']) . "<br>"; }

SimpleXML: Beispiel XML books.xml <?xml version="1.0" encoding="ISO-8859-1"?> <books> <book isbn="123-456-789"> <author firstname="Dan" lastname="Brown"/> <title>Angels and Demons</title> <price currency="USD">7.90</price> <review points="5">Very hot stuff</review> </book> <book isbn="999-999-999"> <author firstname="Jürgen" lastname="Mangler"/> <title>Diplomarbeit</title> <review points="10">Exceptionally cool</review> </books> Beachte: xpath() liefert eine Knotenmenge # Navigation mit XPath $currencies = $books->xpath("book/price/@currency"); foreach($currencies as $currency) { echo $currency . "<br>"; }

SimpleXML: Beispiel XML books.xml <?xml version="1.0" encoding="ISO-8859-1"?> <books> <book isbn="123-456-789"> <author firstname="Dan" lastname="Brown"/> <title>Angels and Demons</title> <price currency="USD">7.90</price> <review points="5">Very hot stuff</review> </book> <book isbn="999-999-999"> <author firstname="Jürgen" lastname="Mangler"/> <title>Diplomarbeit</title> <review points="10">Exceptionally cool</review> </books> Beachte: der Indizierungsoperator bei einem Knoten liefert das entsprechende Attribut # Alternative XPath Variante $prices = $books->xpath("/books/book/price[@currency]"); foreach($prices as $price) { echo $price["currency"] . "<br>"; }

SimpleXML: Beispiel XML books.xml <?xml version="1.0" encoding="ISO-8859-1"?> <books> <book isbn="123-456-789"> <author firstname="Dan" lastname="Brown"/> <title>Angels and Demons</title> <price currency="USD">7.90</price> <review points="5">Very hot stuff</review> </book> <book isbn="999-999-999"> <author firstname="Jürgen" lastname="Mangler"/> <title>Diplomarbeit</title> <review points="10">Exceptionally cool</review> </books> children() liefert alle Unterknoten, attributes() liefert alle attribute # Alle Infos zur Diplomarbeit von J. Mangler ausgeben: $da = $books->xpath("book/author[@lastname='Mangler']/.."); echo "<xmp>"; foreach($da[0]->children() as $info) { echo utf8_decode($info->asXML()) . "\n"; } echo "</xmp>";

SimpleXML: Beispiel XML books.xml <?xml version="1.0" encoding="ISO-8859-1"?> <books> <book isbn="123-456-789"> <author firstname="Dan" lastname="Brown"/> <title>Angels and Demons</title> <price currency="USD">7.90</price> <review points="5">Very hot stuff</review> </book> <book isbn="999-999-999"> <author firstname="Jürgen" lastname="Mangler"/> <title>Dissertation</title> <review points="10">Exceptionally cool</review> </books> # 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

SimpleXML Links Auf der PHP Seite Tutorials http://www.php.net/simplexml Tutorials http://www.onlamp.com/pub/a/php/2004/01/15/simplexml.html www.zend.com/php5/articles/php5-simplexml.php http://www.wiki.cc/php/Simplexml_basic