Mailinglisten-Archive |
Hello Christian, CK> Hi Toph, CK> Danke für Dein Script - wie kriege ich das jetzt zu dem User auf die CK> Festplatte ????? CK> Hast Du eine Lösung ? Wenn du das php-script so aufrifst (link auf script), oder einfach die endung zip angibst, anstatt csv: header("Content-disposition: filename=filename.csv.zip"); wird der download automatisch gestartet, dann muss man es nur noch umbenennen (z.b. cvs oder txt) und per drag and drop in excel reinziehen ... fertig ! Meines Wissens kann man Zeilenumbrueche in Excel (in Zellen) eh nicht richtig darstellen per import ... anyone ?? CK> 1) In einigen Felder sind die Eingaben (Artikelbeschreibungen) teilweise mit CK> CR ("Enter") getrennt. Beim Export zerschiesst das so die ganze Datei - die CK> lässt sich dann nicht mehr korrekt einlesen. CK> Kann ich diese "sonderzeichen", die ja leider nicht sichtbar sind, CK> eliminieren (replace "cr" mit " ")?? CK> Oder welche Lösung habt Ihr "in petto"?? Dein Problem mit den Zeilenumbruechen wird bei mir mit replace geloest, siehe unten !! CK> Betreff: Re: export von tables nach CSV / Excel CK> Hello Christian, CK>> ich suche einen vernünftigen Weg, 3 MySQL Tables nach CSV oder noch CK> besser CK>> Excel /Access zu exportieren. Dabei müssen die 3 Tabellen entsperchend CK>> verknüpft werden und alle Daten sollen in die Datei geschrieben werden. CK> Als CK>> Bildschimdarstellung habe ich das, ich möchte das aber gleich in eine CK> Datei CK>> schreiben lassen (send). CK> Ich mach das wie folgt. CK> Wichtig hierbei die replace-anweisung unten, da es sonst probleme mit CK> zeilenumbruechen in Excel gibt. CK> ############################################################## CK> <? CK> $DB = mysql_connect('localhost', 'username', '******'); CK> mysql_select_db('datenbank', $DB); CK> $table= "tabellenname"; CK> $go = date("dmY"); CK> header("Content-Type: application/csv-tab-delimited-table"); CK> header("Content-disposition: filename=userliste".$go".csv"); CK> // Start Sonderzeichen als erste Zeile CK> echo "#"; CK> if (!isset($order)) $order = "user_id"; CK> $sql2 = "select * from tabelle "; CK> $result2 = mysql_query($sql2); CK> $number = mysql_num_rows($result2); CK> // Komma-spariert? CK> if ($sep=="comma") $sep_char=","; CK> else if ($sep=="semicolon") $sep_char=";"; CK> else if ($sep=="colon") $sep_char=":"; CK> // Wenn nicht, dann TAB-separiert CK> //else $sep_char="\t"; CK> else $sep_char="\t"; CK> $sql = "select * from $table "; CK> $result = mysql_query($sql); CK> $fields = mysql_num_fields($result); CK> // fuer alle -^ CK> //////////////////////////////////////////////////////////////////////////// CK> /// CK> // Die Feldnamen auslesen: _ CK> // \/ CK> $i="1"; CK> while ($i < $fields) CK> { CK> $name = mysql_field_name($result,$i); CK> echo $name; CK> if ($i < $fields-1) echo $sep_char; CK> else echo "\n"; CK> $i++; CK> } CK> //////////////////////////////////////////////////////////////////////////// CK> // CK> // Werte auslesen als liste CK> $query = "select * from $table "; CK> if (isset($where)) $query.= "where $where "; CK> $query.="order by $order"; CK> $werte_result = mysql_query ($query); ------------> ZEILENUMBRUECHE BEHEBEN !! CK> while ($row = mysql_fetch_array($werte_result)) CK> { CK> $j =1; CK> while ($j < $fields) CK> { CK> $text_ = str_replace ("\r", "", "$row[$j]"); CK> $text_ = str_replace ("\n", "", "$text_"); CK> echo $text_; CK> if ($j < $fields-1) echo $sep_char; CK> else echo "\r\n"; CK> $j++; CK> } CK> } CK> echo "\n"; CK> ############################################################## -- Best regards, Toph mailto:php_(at)_kemweb.de --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive