CSV Datei definieren?

roxxinger

Grünschnabel
Guten Morgen,

ich sitze derzeit vor dem Problem eine CSV Datei nach meinen Wünschen anlegen zu lassen.
Code:
Select distinct
spalten.aus.tabellen
INTO OUTFILE 'datei.csv'
FIELDS
            TERMINATED BY '|'
            OPTIONALLY ENCLOSED BY ''
From
tabellen
Where
order_status = 'P' and username=$name
Order By
mos_pshop_order_user_info.order_id Asc

Dies ist derzeit mein Code um die Datei zu erzeugen. klappt auch wunderbar :) nur möchte ich jetzt das die CSV.Datei folgendermassen aussieht:
1. Zeile: A|dann alle Spalten die Informationen zum Kunden beinhalten, Adresse, Tel. usw.
2.-xte Zeile: B|dann alle Spalten die Informationen zur Bestellung für den/die Artikel des Kunden enthalten.

mit meinem derzeitigem Code würde alles hintereinanderweg geschrieben jenachdem wie ich die Spalten einlese.

Geht so was? Wenn ja wie? :D

Gruß Jan
 
Zeig doch mal bitte den gesamten Code für die Erstellung der Csv Datei.

Warum schreibst du nicht in einem Schleifenumlauf zwei Zeilen in die Datei?!
 
oki hier mal der komplette code
Code:
$timestamp=time();
$datum = date("dmY",$timestamp);
$uhrzeit = date("Hi",$timestamp);
$datei = $datum ."_".$uhrzeit ."_". $name;
$user=$my->id;

if (zahl($name))
{
$ResultPointer = mysql_query("Select distinct
mos_pshop_order_user_info.last_name,
mos_pshop_order_user_info.first_name,
mos_pshop_order_user_info.phone_1,
mos_pshop_order_user_info.fax,
mos_pshop_order_user_info.address_1,
mos_pshop_order_user_info.city,
mos_pshop_order_user_info.state,
mos_pshop_order_user_info.country,
mos_pshop_order_user_info.zip,
mos_pshop_order_user_info.user_email,
mos_pshop_orders.order_id,
mos_pshop_orders.order_total,
mos_pshop_orders.order_status,
mos_pshop_orders.order_currency,
mos_pshop_order_item.product_id,
mos_pshop_order_item.product_quantity,
mos_pshop_order_item.order_item_sku,
mos_pshop_order_item.order_item_name,
mos_pshop_order_item.product_item_price,
mos_pshop_order_item.product_final_price,
mos_users.username
INTO OUTFILE 'c://inetpub//wwwroot//vog//portal//export//$datei.csv'
FIELDS
            TERMINATED BY '|'
            OPTIONALLY ENCLOSED BY ''
From
mos_pshop_order_user_info
Inner Join mos_pshop_orders ON mos_pshop_orders.order_id = mos_pshop_order_user_info.order_id
Inner Join mos_pshop_order_status ON mos_pshop_orders.vendor_id = mos_pshop_order_status.vendor_id
Inner Join mos_pshop_order_item ON mos_pshop_orders.order_id = mos_pshop_order_item.order_id
Inner Join mos_users ON mos_pshop_order_user_info.user_id = mos_users.id
Where
mos_pshop_orders.order_status = 'P' and mos_users.username=$name
Order By
mos_pshop_order_user_info.order_id Asc
");

z.b. sieht dann bei 2 artikeln die csv datei so aus
Code:
test|test|123124||test|test||DEU|23412|imweasel@gmx.de|16|34.00|P|EUR|218|3|AGW.009|AGW.009|10.00|11.00|10582
test|test|123124||test|test||DEU|23412|imweasel@gmx.de|18|184.00|P|EUR|258|1|AHV.001|AHV.001|159.00|184.00|10582

wobei die test strings z.b. die kundeninformationen sind usw
 
Ach du willst es mit einem SQL Statement machen, hatte mir das Query gar nicht angeschaut.

Fallen mir spontan zwei Möglichkeiten ein:
  1. Wenn du kein PHP nutzen willst bist du hier leider falsch, für sowas gibt es das Datemnbank-Forum
  2. Du nutzt PHP um die Csv Datei zu erzeugen
 
Ahm ich benutze doch php....oder?

naja bin gerade hiermit am testen
Code:
header("Content-Type: text/plain");
header("Content-Disposition: attachment; filename=".$datei.".csv");

$result = mysql_query("Select distinct
spalten_von_tabellen
From
tabellen
Where
mos_pshop_orders.order_status = 'P' and mos_users.username=$name
Order By
mos_pshop_order_user_info.order_id Asc");
if ($data = mysql_fetch_array($result)){
$datei.="A|;$data[last_name];$data[first_name];$data[address_1];$data[zip];$data[city];$data[phone_1];$data[fax]\n";
}
$result = mysql_query("Select distinct
spalten_von_tabellen
From
tabellen
Where
mos_pshop_orders.order_status = 'P' and mos_users.username=$name
Order By
mos_pshop_order_user_info.order_id Asc");
while ($data = mysql_fetch_array($result)){
$datei.="B|;$data[order_id];$data[product_item_price];$data[order_total];$data[order_item_name]\n";
}

print $datei;

Hier zeigt er mir leider immer den kompletten Quellcode der Seite an und mittendrin irgendwo die richtigen Information zu $datei. Denke mal das liegt am Header der in meiner Wwebsiteumgebung schonmal gesendet wurde...kann man das auch anders lösen das da kein Download stattfindet, sondern die datei automatisch auf dem Server gespeichert wird?
und ohne den komplette quellcode :D

Gruß jan
 
Zurück