Mailinglisten-Archive |
Hello Christian, CK> ich suche einen vernünftigen Weg, 3 MySQL Tables nach CSV oder noch 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. Als CK> Bildschimdarstellung habe ich das, ich möchte das aber gleich in eine Datei CK> schreiben lassen (send). Ich mach das wie folgt. Wichtig hierbei die replace-anweisung unten, da es sonst probleme mit zeilenumbruechen in Excel gibt. ############################################################## <? $DB = mysql_connect('localhost', 'username', '******'); mysql_select_db('datenbank', $DB); $table= "tabellenname"; $go = date("dmY"); header("Content-Type: application/csv-tab-delimited-table"); header("Content-disposition: filename=userliste".$go".csv"); // Start Sonderzeichen als erste Zeile echo "#"; if (!isset($order)) $order = "user_id"; $sql2 = "select * from tabelle "; $result2 = mysql_query($sql2); $number = mysql_num_rows($result2); // Komma-spariert? if ($sep=="comma") $sep_char=","; else if ($sep=="semicolon") $sep_char=";"; else if ($sep=="colon") $sep_char=":"; // Wenn nicht, dann TAB-separiert //else $sep_char="\t"; else $sep_char="\t"; $sql = "select * from $table "; $result = mysql_query($sql); $fields = mysql_num_fields($result); // fuer alle -^ /////////////////////////////////////////////////////////////////////////////// // Die Feldnamen auslesen: _ // \/ $i="1"; while ($i < $fields) { $name = mysql_field_name($result,$i); echo $name; if ($i < $fields-1) echo $sep_char; else echo "\n"; $i++; } ////////////////////////////////////////////////////////////////////////////// // Werte auslesen als liste $query = "select * from $table "; if (isset($where)) $query.= "where $where "; $query.="order by $order"; $werte_result = mysql_query ($query); while ($row = mysql_fetch_array($werte_result)) { $j =1; while ($j < $fields) { $text_ = str_replace ("\r", "", "$row[$j]"); $text_ = str_replace ("\n", "", "$text_"); echo $text_; if ($j < $fields-1) echo $sep_char; else echo "\r\n"; $j++; } } echo "\n"; ############################################################## -- 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