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