phpbar.de logo

Mailinglisten-Archive

export von tables nach CSV / Excel

export von tables nach CSV / Excel

Toph Kemmann mysql-de_(at)_lists.bttr.org
Mon, 10 Dec 2001 11:53:38 +0100


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