Toni: AJAX Tutorial speziell für XML-verarbeitung gesucht

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

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

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

    --
    Zufallsheader Augen- und Serverschonend | Jlog | Gourmetica Mentiri
    1. 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

      --
      My sssignature, my preciousssss!
      1. Hallo,

        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.

        Tim

        --
        ¹ Gerade selber erfunden, auch wenn es schon Prior Art gibt.
        1. 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

          --
          My sssignature, my preciousssss!
          1. 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