Seite 1 von 1

sortierter xml-export von objekten

Verfasst: Fr 17. Dez 2004, 14:04
von mausi
hallo (mal wieder ...)!

nachdem ich einem kunden geraten habe, filemaker liegen zulassen und seine termine nur noch in we zu pflegen, stehe ich vor einem problem:

er ist soweit damit zufrieden, allerdings gibt es ein killerargument, die daten lassen sich nicht sortiert exportieren. er braucht die 6mal im jahr zur hefterstellung in quark. eine anschließende sortierung in excel etc. akzeptiert er aus verständlichen gründen nicht. es sind reine anwender und grafiker, die möglichst wenig damit zutuen haben wollen.

ich progge seit jahren php und wäre evt. an einem lösungsansatz per eigener programmierung interessiert. ich denke, dass ich im grunde genommen das sql-satement, welches die datensätze aus der db einliest, modifizieren muß (abgesehen von der übergabe einer sortieroption über das we-frontend).
um jetzt nicht we komplett zu debuggen, wäre eine info, welche dateien oder skriptbereiche beim export betroffen sind und wo ich da evt. eingreifen könnte, super!

gruss,
mausi

Verfasst: Di 11. Jan 2005, 02:40
von admin
Hallo,

wird schwierig, wenn die we Funktionen verwendet werden sollen. Wenn die Bedingungen für den Export feststehen (welche Daten...) wäre ein komplett eigener PHP Script wahrscheinlich das einfachsten (für jemanden der wirklich gut PHP kann).

Die Daten sind in den Tabellen tblObject_[Id der Klasse] gespeichert und können von dort aus einfach ausgelesen werden. "Kaudawelsch" in den Zellen wird von unserialize() in ein PHP Array verwandelt.

Verfasst: Mi 13. Jul 2005, 21:42
von mausi
... ich denke, dass ich um eine eigene export funktion nicht umherkomme. wird zwar kein problem werden, aber halt mehr aufwand+kosten für den kunden ...

Verfasst: Mi 13. Jul 2005, 22:48
von Christoph Lütjen
Hallo,

Frage: Läuft das ganze auf PHP4 oder PHP5?

Als kleine Anregung (PHP4 und PHP5, auf PHP5 gäb's noch ein paar Möglichkeiten mehr)...

Code: Alles auswählen

// PHP5: s.a. PDO Extension 
// PHP4/PHP5 s.a. PEAR::DB Klassen

$sql = "select * from tblObject_x order by FeldnameLtPhpMyAdmin";
$rs = mysql_query($sql);
echo mysql_error();

$xml = '<?xml version="1.0"><export-data>';
$s = new XML_Serializer();

while ($row = mysql_fetch_assoc($rs)) {
 $s->serialize($row);
 $xml.= $s->getSerializedData();
}

$xml.= '</export-data>';
.. das sollte ziemlich genau das tun was Sie wollen, ist aber "runtergeschrieben" und nicht getestet. Könnte man z.B. auf einem Dokument als Link unterbringen und dann als Popup öffnen. Die erstellten Daten könnte man entweder als Datei speichern oder einfach über header() den Content-Type setzen, dann werden sie angezeigt bzw. zum Download angeboten...

Verfasst: Do 14. Jul 2005, 00:04
von mausi
... läuft im Moment auf PHP4. Da aber das Projekt in den kommenden Wochen auf einen neuen Server umzieht, wird wahrscheinlich auch PHP5 zur Verfügung stehen.
Aber Ihr Lösungsansatz klingt gut. Sobald ich etwas fertig gestellt habe, werde ich meine Ergebnisse hier einmal posten.

Gruss & Dank - Mausi (der sich an großKLEINschreibung wieder gewöhnen will).