Felix: Adressbuch aus MySql in CSV, Excel... exportieren

Hallo,

Ich will eine Adressliste in einer MySql-Datenbank anlegen, damit alle Leute ihre Einträge selbstständig aktuell halten können.

Nun die Schwierigkeit: Dieses Php_Skript soll die Möglickeit bieten, die Liste nach Excel zu exportieren (mit PEAR) aber auch direkt ins CSV-Format, damit man sie direkt in Outlook/Thunderbird/Pegasus/GMail benutzen kann. Die Programme benutzen dabei zum Teil ja leicht andere CSV-Formatierungen, und das Skript soll es ermöglichen, all diese Formate zu exportieren.
Muss ich mir da jetzt selber was schreiben, oder kennt einer von euch da fertige Lösungen. Ich habe eine gefunden ( http://pear.php.net/package/Contact_AddressBook/ ), aber ich habe nicht ganz verstanden, wie dieses Packet funktionieren soll.

Bin für jede Hilfe dankbar,

Felix

  1. echo $begrüßung;

    Nun die Schwierigkeit: Dieses Php_Skript soll die Möglickeit bieten, die Liste nach Excel zu exportieren (mit PEAR) aber auch direkt ins CSV-Format, damit man sie direkt in Outlook/Thunderbird/Pegasus/GMail benutzen kann.

    CSV ist nur ein ganz einfaches Format, um Datensätze und Felder so zu formatieren, dass man hinterher diese Struktur wieder herstellen kann. Aber: Weder Namen noch die Reihenfolge der Felder und somit ihre Bedeutung werden mit übertragen. Jedenfalls gibt es keinen Standard dafür. Man könnte die Feldnamen in die erste Zeile schreiben, aber an und für sich zählt auch die erste Zeile bereits zu den Daten.
    CSV ist also nur geeignet, wenn Sender und Empfänger wissen, die die Felder zu interpretieren sind.

    Ich habe eine [Lösung] gefunden ( http://pear.php.net/package/Contact_AddressBook/ ), aber ich habe nicht ganz verstanden, wie dieses Packet funktionieren soll.

    Hilft dir, wenn du dort auf "Browse the source tree" gehst und dir die README.txt sowie die Beispiele aus dem examples-Verzeichnis anschaust?

    PEAR-Pakete, die keine Extra-Dokumentation mitbringen, sind meist im Quelltext dokumentiert.

    echo "$verabschiedung $name";

    1. Hello,

      das von den meisten Programmen verstandene Format ist das *.sdf (standard data format), was dann von M$ in CSV umbenannt wurde.

      Beim SDF werden Felder mit einem Seperator getrennt, also z.B. mit Semikolon.
      Die Feldinhalte werden in Delimiter verpackt, also z.B. Doppelhochkomma.
      Delimiter, die innerhalb der Feldinhalte vorkommen, werden durch Doppelung maskiert, also _nicht_ durch Voranstellen eines Backslashes.

      Zeilenende (Datensatzende) wird mit dem für das System zutreffenden CRLF (LF, CR) gekennezeichnet.
      Zeilenendezeichen innerhalb von Delimitern werden dem Feldwert und nicht dem Satzende zugerechnet.

      Daher kann man in PHP derartige Dateien auch nicht mehr (sinnvoll) mit file() oder fgets() lesen, sondern nur noch mit der Spezialfunktion fgetcsv().
      http://de2.php.net/manual/en/function.fgetcsv.php

      Diese hat außerdem den Vorteil, dass sie die Felder bereits separiert in einem Array abliefert.

      Man achte aber auf die Begriffsverwirrung, die PHP hier mit Delimiter und Enclosure betreibt...

      Excel kann derartig aufbereitete Daten lesen

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau