AJAX Tutorial speziell für XML-verarbeitung gesucht
Toni
- xml
hallo,
ich habe allerlei AJAX Tutorials gefunden. Ich Suche aber eines, dass sich speziell mit der Erzeugung und Verarbeitung größerer Datenmengen mit XML beschäftigt.
Ich möchte folgendes umsetzen:
Nutzer bekommt eine Tabelle zu sehen, die mit Einträgen aus einer Datenbank gefüllt ist.
über Checkboxen und Dropdownlisten soll er die Möglichkeit haben die Datenmassen zu filtern.
z.B. gibt es eine Spalte mit einem Datum - Auswahl von "Nur 2005" zeigt dann entsprechend die Einträge von 2005.
Das ganze möchte ich mit AJAX umsetzen.
Soweit ich es sehe muss ich dazu 1. per PHP eine XML Datei erzeugen und wieder an den Browser schicken.
2. die per JavaScript parsen und eine Tabelle daraus bauen
genau für diese 2 schritte suche ich ein Tutorial.
hat da jemand einen Tip/Link?
danke schonmal
Toni
Hallo,
Soweit ich es sehe muss ich dazu 1. per PHP eine XML Datei erzeugen und wieder an den Browser schicken.
du erzeugst ganz normal deine Tabelle am einfachsten in einen String rein und speicherst es in einer variable, danach schickst du den XML Header und echo $myTable; fertig, merh ist das nicht. In meinem System sieht das zum beispiel so aus:
function outputXML($d) {
header('Content-Type: text/xml');
echo trim($d);
exit;
}
Die XML Datei kannst du entweder von Hand zu einem großen String zusammenbauen:
function doTable($d) {
$o = '<?xml version="1.0" encoding="ISO-8859-1" ?>
<ergebnisse>
<time>'.time().'</time>';
foreach($d['foo'] as $foo) {
$o .= " <foo>".$foo."</foo>\n";
}
$o .= '
</ergebnisse>';
return $o;
}
Oder mit Hilfe der in PHP eingebauten DOMXML-Methoden oder man sucht sich eine schöne XML-Klasse, die einem das vereinfacht.
- die per JavaScript parsen und eine Tabelle daraus bauen
Das Tutorial bei Apple zeigt dir schon mal wie du aus den ampfangenen Daten einen DOM Baum machst, danach ist es einfaches JavaScript mit DOM zum auslesen der Daten. Wenn die ausgelesen sind baust du dir mit diesen Variablen deine Tabelle wieder mit DOM in HTML auf. Vielleicht wird es jetzt einfacher nach den richtigen Sachen zu Suchen wenn du so einen Überblick hast. Viel Spaß damit fast genau das gleiche habe ich vor zwei Wochen selbst auch machen dürfen ;-).
Grüße
Jeena Paradies
Moin!
Soweit ich es sehe muss ich dazu 1. per PHP eine XML Datei erzeugen und wieder an den Browser schicken.
du erzeugst ganz normal deine Tabelle am einfachsten in einen String rein und speicherst es in einer variable, danach schickst du den XML Header und echo $myTable; fertig, merh ist das nicht. In meinem System sieht das zum beispiel so aus:
Man kann es natürlich auch megakompliziert machen und ganz viel XML und solchen Krams einbauen.
Oder man macht es sich einfach und spart sich das "In XML reinschreiben" und "aus XML mit JS wieder auspacken", indem man einfach schlichtes (X)HTML generiert und mit innerHTML in die Seite einbaut.
Das nennt sich dann "AHAH" und ist supersimpel zu benutzen:
http://microformats.org/wiki/rest/ahah
Wichtig: Das erzeugte HTML darf natürlich nur ein Fragment sein, keine komplette HTML-Seite.
- Sven Rautenberg
Moin!
Das nennt sich dann "AHAH"
Eine weitere Möglichkeit wäre AJAJ¹, dabei verpackt man die Daten schon auf dem Server in eine JS-kompatible Datenstruktur, nämlich in JSON.
Richtiger Titel, falsche URL. :)
Ich behaupte allerdings, dass AHAH wirklich der allersimpelste und allerschnellste Weg ist - mit dem möglichen Preis, dass etwas mehr Daten übertragen werden, als minimal absolut notwendig wäre.
- Sven Rautenberg
Hallo Sven,
Richtiger Titel, falsche URL. :)
Jupp ;)
Ich behaupte allerdings, dass AHAH wirklich der allersimpelste und allerschnellste Weg ist
Ja, ich würde sagen in der Mehrheit der Fälle sollte man es auch einsetzen. Eigene Datenstrukturen, entweder in JSON oder meinetwegen auch in XML lohnen sich eher dann, wenn man noch mehr nicht darzustellende Metadaten zu den Daten braucht oder im Browser Daten verarbeiten will, ohne neue Requests erzeugen zu müssen, z.B. bei der Sortierung einer Tabelle.
Tim